gpt4 book ai didi

javascript - 如何修复 ajax 请求的跨源请求被阻止(在 Firefox 中)?

转载 作者:行者123 更新时间:2023-12-03 05:10:57 26 4
gpt4 key购买 nike

我从 Firefox 中的 ajax 请求收到以下错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.example.org/php/save.php. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

我试图找出为什么会发生这种情况。很奇怪,因为

  • 该脚本在同一服务器上的我的子域上运行完全正常
  • 访问的文件位于同一服务器上

我也尝试过

xhttp = new XMLHttpRequest({mozSystem: true});

按照此处的建议:https://stackoverflow.com/a/22392080

但这也没有帮助。

我使用以下命令来打开请求:

xhttp.open('POST', '/php/save.php', true);

当文件位于另一台服务器上时,我找到了许多其他解决方案:

<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>

但是如果文件实际上位于同一服务器上,我不明白为什么我应该这样做......

编辑

我从 .htaccess 文件中删除了以下两行,现在它可以工作了。

RewriteCond     %{HTTP_HOST}    !^www\.example\.org$                        [NC] 
RewriteRule .? http://www.example.org%{REQUEST_URI} [R=301,L]

虽然我不确定为什么...也许添加 www. 就像移动到子域一样?

我必须在 .htaccess 文件中添加什么才能使其与 ajax 和重写一起使用?

最佳答案

这就是解决我的问题的方法 - 尽管我不确定为什么。而不是我之前使用的重写:

RewriteCond %{HTTP_HOST} !^www\.example\.org$ [NC]
RewriteRule ^(.*)$ http://www.example.org/$1 [R=301,L]

关于javascript - 如何修复 ajax 请求的跨源请求被阻止(在 Firefox 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41822936/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com