1

我有一个在 https 上运行的站点,它试图通过 AJAX 使用 http localhost 地址访问作为 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 设置有任何建议?

提前致谢。

4

2 回答 2

0

您需要启用跨域访问,因此请转到工具-> Internet 选项-> 安全选项卡,单击您选择的区域的“自定义级别”按钮。转到杂项 -> 跨域访问数据源设置并选择“启用”选项。

于 2015-01-03T06:10:11.440 回答
0

此代码是否被 SOP(同源策略)阻止?如果是这样,请将“crossDomain”设置设置为“true”。 http://api.jquery.com/jquery.ajax/

于 2015-01-04T03:38:47.090 回答