javascript - IE11未发起CORS请求

标签 javascript jquery ajax internet-explorer cors

通过摆弄,如果是跨源的,IE11 似乎不会发出 ajax 请求。如果资源 API 未发送必要的 header ,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 安全选项中启用跨源请求 - 尽管在每台客户端计算机上执行此操作似乎很奇怪。无论如何,这没有什么区别。

最佳答案

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

Origin http://localhost not found in Access-Control-Allow-Origin header

错误,后跟

XMLHttpRequest: Network Error 0x80070005, Access is denied

当我将 HTML 页面移动到网络服务器时,它工作正常。

关于javascript - IE11未发起CORS请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682581/

相关文章:

Javascript、ajax 和内存使用

javascript - polymer - slider 前/后

javascript - 无法使用 Python 和 Django 进行 AJAX 调用

php - 数据没有从ajax发送到php

javascript - 如何使用 jQuery 将元素与触发链接相关联?

javascript - 如何在JavaScript中检查空字符串/未定义字符串/空字符串?

javascript - jquery 验证忽略动态添加的字段

javascript - 带有 JSONP 的 jQuery.getJSON 对于不同的调用返回相同的数据

c# - 将带有数据和文件的 JSON 发布到 Web Api - jQuery/MVC

jquery - ASP.NET MVC 在 Ajax 中获取异常消息