【发布时间】:2023-04-03 17:34:01
【问题描述】:
一周前,我遇到了 CORS 错误:
Access to XMLHttpRequest at [domainA/example/directory/file.xml] from origin [domainB] has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
我通过编辑 .htaccess 解决了这个问题,添加:
<IfModule mod_headers.c>
<FilesMatch ".+">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>
这行得通!但是,我现在在不同路径(即“domainA/不同/example/directory/file.json”)请求同一域中的数据时遇到了同样的问题。
难道我不能根据我对 .htaccess 所做的编辑请求任何目录中的任何文件吗? (位于“/.../.../www/[domainA-root]/.htaccess”)
值得注意的是,在我的第一个示例中,[domainA/example/directory/file.xml] 是 Drupal 创建的 XML 视图,而不是实际目录中的静态文件。
【问题讨论】:
-
对于不同路径的文件的请求,响应的HTTP状态码是什么?您可以使用浏览器开发工具中的网络窗格进行检查。是 4xx 还是 5xx 错误而不是 200 OK 成功响应?
-
无状态码返回。只是在状态栏中说“(失败)”。
-
对于不同路径的文件的请求,如果您尝试直接在浏览器中打开该文件的 URL,会发生什么情况?
-
它将 JSON 显示为纯文本,就像您在浏览器中打开任何 JavaScript 或 JSON 文件一样。
-
您能否从浏览器控制台窗格(在 Web 调试器中)发布确切的错误消息?可能您正在发送一个不允许的标头。
标签: ajax drupal xmlhttprequest cors