我有一个在https上运行的站点,它试图通过AJAX使用http本地主机地址来访问作为http服务器运行的Windows服务。但是,这将返回"访问被拒绝"错误。从http调用时它工作正常,但这不是测试之外的选项。我们也仅限于使用Internet Explorer(9+)。
我已经设置了"允许混合内容"安全设置为"启用"对于相应的区域,但它仍然被阻止。
AJAX调用如下所示:
$.ajax({
url: 'http://localhost:5923/somefunction',
data: {
sid: sid,
aid: aid
},
success: function (ret) {
//...
},
error: function (error, status, errThrown) {
alert(errThrown);
}
});
我知道修改Windows服务以通过https运行是长期的最佳解决方案,但有没有人对IE设置有任何建议,允许混合活动内容,或任何其他临时修复?
提前致谢。
答案 0 :(得分:0)
您需要启用跨域访问权限,因此请转到“工具” - >“Internet选项” - >“安全”选项卡,然后单击所选区域的“自定义级别”按钮。转到其他 - >跨域访问数据源设置并选择“启用”选项。
答案 1 :(得分:0)
此代码是否被SOP(同源策略)阻止? 如果是这样,请将“crossDomain”设置为“true”。 http://api.jquery.com/jquery.ajax/