在javascript中使用xmlhttprequest“CORS问题-403禁止”[重复]
Posted
技术标签:
【中文标题】在javascript中使用xmlhttprequest“CORS问题-403禁止”[重复]【英文标题】:"CORS issue- 403 forbidden" using xmlhttprequest in javascript [duplicate] 【发布时间】:2021-09-20 22:26:03 【问题描述】:我正在尝试连接托管在云上的 api,但由于 CORS 问题而出现 403-Forbidden。
var url = "https://spring-demo-ysyfl4f26q-uc.a.run.app/getsummary";
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function()
if (this.readyState == 4 && this.status == 200)
var myArr = JSON.parse(this.responseText);
myFunction(myArr);
else
myFunction('errorcode'+this.status+' error'+this.readyState+this.responseText);
;
xmlhttp.open('GET', url);
xmlhttp.setRequestHeader('Access-Control-Allow-Origin', '*');
xmlhttp.setRequestHeader('Access-Control-Allow-Methods', 'GET, PUT, POST, DELETE, HEAD, OPTIONS');
xmlhttp.setRequestHeader('key', 'PRODUCT');
xmlhttp.setRequestHeader('Content-Type', 'application/json');
xmlhttp.setRequestHeader('Access-Control-Allow-Headers', 'Content-Type, key,Access-Control-Allow-Headers,Access-Control-Allow-Origin, X-Requested-With');
xmlhttp.withCredentials = false;
xmlhttp.send();
script.js:75 GET https://spring-demo-ysyfl4f26q-uc.a.run.app/getsummary 403(禁止)
有人可以帮忙吗,我可以通过 POSTMAN 得到回复吗? TIA
【问题讨论】:
您正在请求中设置响应标头Access-Control-Allow-*
。不要那样做,删除那些可能会破坏其他功能的 CORS 的标题。如果在删除这些标头后仍然出现 CORS 错误,那么您需要修复服务器 spring-demo-ysyfl4f26q-uc.a.run.app
以根据需要发送 CORS 响应标头
【参考方案1】:
在 cpanel 中启用 CORS 在您的主机帐户中启用 CORS。 您可以在您的主机帐户的 .htaccess 文件中添加以下行来启用它。
<IfModule mod_headers. ...
Header set Access-Control-Allow-Origin "*"
</IfModule>
【讨论】:
以上是关于在javascript中使用xmlhttprequest“CORS问题-403禁止”[重复]的主要内容,如果未能解决你的问题,请参考以下文章