【问题标题】:Access is denied error on XDomainRequestXDomainRequest 上的访问被拒绝错误
【发布时间】:2012-01-17 20:29:04
【问题描述】:

我正在尝试使用 microsoft XDomainRequest 发送跨域请求。 这是代码

...
if ($.browser.msie && window.XDomainRequest) {
  // Use Microsoft XDR
  var xdr = new XDomainRequest();
    xdr.open("POST", "http://graph.facebook.com/1524623057/");

  xdr.send();
} 
 ....

它在xdr.open(...) 行上给出SCRIPT5: Access is denied. 错误。

【问题讨论】:

  • 9,我用开发者工具改成8了,结果还是一样
  • 您发送的内容类型标头是什么?
  • 如何将标头设置为 XDomainRequest 对象?
  • 我想我遇到了问题(第 7 点)。

标签: javascript internet-explorer cross-domain xdomainrequest


【解决方案1】:

我找到了这个问题的原因。如Point 7中所述:

请求必须针对与托管页面相同的方案

此限制意味着如果您的 AJAX 页面位于 http://example.com,那么您的目标 URL 也必须以 HTTP 开头。同样,如果您的 AJAX 页面位于 https://example.com,那么您的目标 URL 也必须以 HTTPS 开头。

【讨论】:

  • 第 7 点是“请求必须针对与托管页面相同的方案”。我也在为同样的问题苦苦挣扎,从 http 页面调用 https 地址。感谢您的链接!
  • 我明白了,但是有什么办法可以解决这个问题,并且可以从 http 站点访问 https:ajax。
  • 这对我帮助很大!我花了几个小时试图弄清楚:)
【解决方案2】:

看这个:

http://msdn.microsoft.com/en-us/library/cc288060(v=vs.85).aspx

它描述了服务器必须如何响应某个标头,Access-Control-Allow-Origin。

【讨论】:

  • 嗯。所以我现在看到这个 URL 确实返回了值为“*”的标头。所以不是这样。
猜你喜欢
  • 1970-01-01
  • 2016-08-13
  • 2014-01-04
  • 1970-01-01
  • 2010-10-24
  • 2012-12-21
  • 2010-12-23
  • 2017-06-25
相关资源
最近更新 更多