【问题标题】:Cross Domain AJAX Request is not working on IE10跨域 AJAX 请求在 IE10 上不起作用
【发布时间】:2014-10-04 12:48:58
【问题描述】:

我将 ajax 请求从“sub.example.com”发送到“www.example.com/api/lists”(是的,它是子域),但它不仅适用于 IE。它适用于 FF、Chrome、Safari 和其他移动浏览器。

错误消息 - SEC7120: Access-Control-Allow-Origin 不允许来源http://sub.example.com

我的服务器设置是

<?php
  header('Access-Control-Allow-Origin : *');
  header('Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS');

我尝试了两种方法。一、jQuery.ajax();

$.ajax({
  url : 'http://www.example.com/api/lists',
  type : 'GET',
  dataType : 'JSON',
  cache : false,
  crossDomain : true
}).success(function(data){
  // do something
});

和原生 javascript。

 var xhr = new XMLHttpRequest();
 xhr.open('GET', 'http://www.example.com/api/lists');
 xhr.send();

他们都不能只工作 IE10 浏览器。(尚未测试 lt IE10)

【问题讨论】:

  • 您能否也发布响应标头的内容,以便我们确保您的 PHP 代码正确设置标头?

标签: javascript php jquery ajax internet-explorer


【解决方案1】:

删除冒号和星号之间的空格。

改变

header('Access-Control-Allow-Origin : *');

header('Access-Control-Allow-Origin: *');

Internet Explorer 在正确语法方面相当不灵活。

【讨论】:

    【解决方案2】:

    您可能会遇到IE10 issue,而 JQuery 上的票证是 closed,因为这是 IE10 本身的问题。

    目前的“解决方法”是设置兼容模式:

    <meta http-equiv="x-ua-compatible" content="IE=9" >
    

    我链接到的帖子也值得一读。

    【讨论】:

      猜你喜欢
      • 2014-04-18
      • 1970-01-01
      • 2013-03-11
      • 1970-01-01
      • 2011-10-20
      • 1970-01-01
      • 2014-09-10
      • 1970-01-01
      • 2015-04-15
      相关资源
      最近更新 更多