XDomainRequest 上的访问被拒绝错误
Posted
技术标签:
【中文标题】XDomainRequest 上的访问被拒绝错误【英文标题】:Access is denied error on XDomainRequest 【发布时间】: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了,结果还是一样 您发送的内容类型标头是什么? 是的,见第 4 点:blogs.msdn.com/b/ieinternals/archive/2010/05/13/… 如何将标头设置为 XDomainRequest 对象? 我想我遇到了问题(第 7 点)。 【参考方案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 确实返回了值为“*”的标头。所以不是这样。以上是关于XDomainRequest 上的访问被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章
防止 mysql_connect() 上的错误 - 访问被拒绝
centos linux上的dotnet restore错误:访问路径被拒绝
更改 cPanel 密码后,Drupal 站点上的访问被拒绝