【问题标题】:XMLHttpRequest cannot load. Unloaded resources show caution: Provisional headers are shownXMLHttpRequest 无法加载。已卸载的资源显示谨慎:显示临时标头
【发布时间】:2014-01-28 22:10:59
【问题描述】:

我实际上不知道这个问题的正确标题,因为我发现了很多相似之处,但仍然无法找到解决方案。

我的问题是(在 Chrome 上)我正在处理的网站仍然显示控制台日志:XMLHttpRequest 无法加载 http://resource.domain.com/file.css。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'http://www.my-site-url.tld' 因此不允许访问。

我已尝试使用此代码通过 .htaccess 文件允许该资源。

<FilesMatch "\.(jpg|jpeg|png|gif|js|css)$">
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin http://wp.com,http://ajax.googleapis.com,http://fonts.googleapis.com,http://zor.fyre.co
    Header set Access-Control-Allow-Credentials true
</IfModule>
</FilesMatch>

不起作用。我也试过php和jsonp版本。

请大家帮我解决这个问题。

其他信息: 最近,在检查元素 > 网络 > 标题部分,我发现了这条消息:

【问题讨论】:

    标签: google-chrome xmlhttprequest cross-domain cross-domain-policy


    【解决方案1】:

    您的问题很可能源于您尝试从外部域加载内容,这在正常的 json 调用中是被禁止的,因此会出现 No 'Access-Control-Allow-Origin' 错误。您可能需要的技术称为 JsonP。我会链接文档;但是,它确实取决于您使用的 javascript 框架。我建议查看这篇文章,了解如何通过普通 JS 调用此行为。 https://stackapps.com/questions/891/how-to-call-the-api-via-jsonp-in-plain-old-javascript

    希望这会有所帮助!

    【讨论】:

    • 但是对于来自 fonts.googleapis.com 的 css 文件,之前标记为 XMLHttpRequest 无法加载,在我添加预取后开始工作,例如 令人惊讶的是,来自外部 url 的一些资产运行良好。但这对来自 livefyre 的一些外部 css 文件没有帮助,zor.fyre.co。我无法解释清楚,只是分享一下经验。
    猜你喜欢
    • 2010-09-17
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 2010-10-27
    相关资源
    最近更新 更多