CORS - 对预检请求的响应未通过访问控制检查

时间:2018-05-24 09:25:44

标签: javascript jquery ajax

我正在尝试向服务器发送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);
            });

我不确定如何修复此错误,因为我是网络开发的新手。

3 个答案:

答案 0 :(得分:1)

Access-Control标头应由服务器发送,而不是由客户端发送。

答案 1 :(得分:1)

您必须在服务器应用程序中设置Access-Control,如果您的后端在java上,那么您可以使用过滤器来设置Access-Control标头

答案 2 :(得分:1)

  

对预检请求的响应没有通过访问控制检查:否'访问控制 - 允许 - 来源'标题在请求的资源上

访问控制控件头必须由响应服务器发送。根据响应和请求页面,浏览器可以允许请求继续,只显示您得到的错误。

如果添加标题就足够了,任何CORS策略都没有实际意义:任何页面都可以访问任何资源。

  

服务器和本地主机具有相同的域

我不确定您的意思,但显然您的网页是从myurl指向的其他网域加载的。