IE11没有启动CORS请求

时间:2014-10-31 20:02:36

标签: javascript jquery ajax internet-explorer cors

通过摆弄它似乎IE11如果是交叉来源则不会发出ajax请求。如果资源API没有发送必要的标头,FF和Chrome将至少发出请求并抛出错误。在我的情况下,资源API(Web API 2.0)是adding required headers,如果IE提出请求将会有所帮助,但它没有。

客户端的JavaScript:

jQuery.support.cors = true;

$.fn.somePlugin = function () {
    $.ajax({
        url: apiUrl + '/articles/list/',
        type: 'GET',
        crossDomain: true
    }).done(
        function (data, textStatus, xhr) {
            console.log('hello world!');
        });
    return this;
}

上面的ajax请求在Chrome和FF中完美运行,但在IE11中却没有。

我试过了:

  1. 添加对XDomainRequest.js的引用,但没有任何效果。
  2. 在IE安全选项中启用跨源请求 - 即使在每台客户端计算机上执行此操作似乎很奇怪。无论如何,它没有任何区别。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。我无法使用XMLHttpRequest(),$ .ajax()或$ .ajax快捷方式检索任何CORS数据。问题原来是localhost(IIS WinPro7)。每个AJAX CORS请求都预先生成了

  

在Access-Control-Allow-Origin标头中找不到原始http://localhost

错误,然后是

  

XMLHttpRequest:网络错误0x80070005,访问被拒绝

当我将HTML页面移动到网络服务器时,它运行良好。