我刚刚将网站从一台主机切换到另一台主机,由于某种原因,我们在尝试访问第三方 API 时遇到了以下多个错误
从源“https://www.mainwebsite.com.au”访问“https://externalwebsite.com/api/”处的 XMLHttpRequest 已被 CORS 策略阻止:请求 header 字段 x-xsrf预检响应中的 Access-Control-Allow-Headers 不允许使用 -token。
.htaccess 文件具有允许这些连接的 CORS 策略:
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
我可以看到旧主机设置了以下 cookie,当我在系统上删除它们时,网站可以正常工作:
XSRF-TOKEN
1551054855|ZxDIR_16hNnw
.www.mainwebsite.com
hs
1333923782
.www.mainwebsite.com
svSession
253f275579e7747b6495ca6ff45ba024da3bd3b36906f5ac14b709de48792403faf1d3bbff2205d92d2e9a8de90d4b101e60994d53964e647acf41 1e4f798bcd4c6094311de4bdfbf81f1c6cdfaa3e9de1f5fc736f232b0c584f30f1f7d232d9
.www.mainwebsite.com
如何包含一些 PHP 或 Javascript 来为加载该网站的任何人清除这些 cookie,以便为过去访问过该网站的用户正常加载?
最佳答案
如果你能给我更多关于你的前端框架的信息,我会解释得更清楚。
可能的解决方案:在页面加载时添加脚本以删除 cookie
$(window).load(function() {
$.cookies.del('name_of_your_cookie');
});
这将删除 cookie,现在只需添加一个读取 cookie 命令和一个条件来检查 cookie 是否旧且需要删除。
您可以使用document.cookie
读取cookie并解析以检查键值。
如有任何疑问,请联系我:)
关于javascript - 为访问者清除 X-CSRF-TOKEN 以修复 XMLHttpRequest 被 CORS 策略阻止的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54858621/