【问题标题】:IE8+ JQuery Ajax sub domain calls and ovveriding response ResponseIE8+ JQuery Ajax 子域调用和覆盖响应响应
【发布时间】:2013-03-30 13:34:43
【问题描述】:

我在 IE 浏览器 8 及更高版本的 IE 和 Ajax 调用方面遇到了一些问题。我有一个站点对返回 json 数据的子域进行 ajax 调用。对于 IE8,我为 Ajax 调用找到并添加了这个 ovveride,代码如下:

if ('XDomainRequest' in window && window.XDomainRequest !== null) {
  // override default jQuery transport
  jQuery.ajaxSettings.xhr = function() {
      try { return new XDomainRequest(); }
      catch(e) { 
        console.log(e); 
      }
  };

  // also, override the support check
  jQuery.support.cors = true;
  jQuery.ajaxSettings.dataType = 'json';

}

问题在于响应,它不是以 json 形式返回,而是以纯文本形式返回。如何为所有 Ajax 调用全局解决此问题?

【问题讨论】:

    标签: jquery ajax internet-explorer-8 internet-explorer-9 cross-domain


    【解决方案1】:

    尝试将 jQuery AJAX 参数“dataType”设置为“json”,这告诉它您想要返回一个 JavaScript JSON 对象,而不是让它根据响应 mime-type 进行智能猜测。

    如果这不起作用,我想您可以尝试为纯文本添加一个自定义转换器,该转换器通过 JSON 解析器运行响应。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-10
      • 2013-10-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 1970-01-01
      • 2011-03-11
      相关资源
      最近更新 更多