【问题标题】:XMLHttpRequest cannot load.?XMLHttpRequest 无法加载。?
【发布时间】:2011-11-01 17:05:12
【问题描述】:

chrome->Inspect element->console 收到此错误:

XMLHttpRequest 无法加载。原产地不允许 访问控制允许来源。

这是怎么解决的?

【问题讨论】:

标签: javascript jquery xml


【解决方案1】:

您不能通过 XMLHttpRequest 向其他域或子域发出请求。 如果您从 www.foo.com 发出请求,您还需要将请求定位在 www.foo.com 并且不要遗漏 www。

如果您确实需要访问另一个域,您可以使用JsonP,其中浏览器利用<script> 标记从不同域加载脚本的能力。加载的脚本然后执行回调函数为您提供数据。但是对于常规的 AJAX 调用,您根本无法离开源域。

请参阅Same Origin Policy 上的 Wiki 文章

【讨论】:

  • 这个答案对我很有帮助。谢谢Tigraine
【解决方案2】:

一种解决方法是使用Korz,它通过第三方路由所有跨源请求并将Access-Control-Allow-Origin header 设置为'*',以便请求通过。

【讨论】:

    【解决方案3】:

    我建议您阅读以下内容: http://www.fbloggs.com/2010/07/09/how-to-access-cross-domain-data-with-ajax-using-jsonp-jquery-and-php/

    解释得很好......重点是您需要以回调函数的方式返回您的 JSON

    【讨论】:

    • 在这个链接上得到一个数据库错误,如果你有更新的链接,你能不能给个链接
    猜你喜欢
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2014-06-23
    • 2018-02-02
    相关资源
    最近更新 更多