我正在尝试向服务器发送GET请求(服务器和本地主机具有相同的域),但是我一直收到以下错误:
对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。
这是我用来发送请求的代码
$.ajaxSetup({
headers: {
'Access-Control-Allow-Origin': "*",
'Access-Control-Allow-Methods': "GET, POST, PATCH, PUT, DELETE, OPTIONS",
'Access-Control-Allow-Headers': "Origin, Content-Type, X-Auth-Token"
}
});
$.get(myurl, function(data) {
console.log(data);
});
我不确定如何修复此错误,因为我是网络开发的新手。
答案 0 :(得分:1)
Access-Control标头应由服务器发送,而不是由客户端发送。
答案 1 :(得分:1)
您必须在服务器应用程序中设置Access-Control,如果您的后端在java上,那么您可以使用过滤器来设置Access-Control标头
答案 2 :(得分:1)
对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标题在请求的资源上 。
访问控制控件头必须由响应服务器发送。根据响应和请求页面,浏览器可以允许请求继续,只显示您得到的错误。
如果添加标题就足够了,任何CORS策略都没有实际意义:任何页面都可以访问任何资源。
服务器和本地主机具有相同的域
我不确定您的意思,但显然您的网页是从myurl
指向的其他网域加载的。