【问题标题】:Ajax response blcoked in IE by jqueryjQuery 在 IE 中阻止了 Ajax 响应
【发布时间】:2011-06-23 17:32:04
【问题描述】:

我正在尝试通过 $.ajax() 函数调用 API。

我在 Firefox 中有响应,但在 IE 中被 jquery 阻止了 调试器显示错误消息:

权限被拒绝 jquery-1.4.2.min.js 第 127 行字符 287

【问题讨论】:

  • 您是否请求不同服务器(或其他协议)上的文件
  • 发布您用于发出请求的代码。
  • 是的,我请求不同服务器上的 API $.ajax({ type: "GET", url: testUrl, success: function(msg){ if(msg!="" && msg!= null){ jAlert(msg); } }, error:function(){ jAlert("error"); } });
  • 我在 FF 中得到了相同代码的响应,但 IE 显示权限被拒绝的错误是什么原因以及如何解决它???
  • testURL 是:: alertbox.in/…

标签: jquery ajax internet-explorer xmlhttprequest


【解决方案1】:

您在 IE 中并没有真正遇到错误,但如果您对其进行调试,您会发现服务器永远不会被命中,或者代码永远不会到达成功块。

对于 AJAX 请求,www.被视为子域并打破 xmlhttprequestobject 的同源策略。

确保您的 AJAX 请求中的域与页面的域和您的 javascript 文件相匹配,也就是说,您应该去掉 www.在你的 $.get() 函数中

或者如果您仍然需要对不同的域执行 $.get,请尝试在您的 jQuery (> 1.5.1) ajax 请求中使用 XHR 选项:

$.ajax({
   url: a_cross_domain_url,
   type: "GET",
   xhrFields: {
      withCredentials: true
   }
});

希望对你有帮助

【讨论】:

猜你喜欢
  • 2012-07-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多