小编典典

获取请求未通过访问控制检查:所请求的资源上不存在“ Access-Control-Allow-Origin”标头

ajax

我正在尝试从我的应用程序向Tomcat服务器发送Ajax请求,但出现此错误(我的Web应用程序正在Chrome上运行):

对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-
Origin”标头。因此,不允许访问原始“空”。响应的HTTP状态码为403。

我尝试使用

'Access-Control-Allow-Origin' : 'http://localhost:8080/app',

但这没用。

我的Ajax代码:

 var arr = [1];
   $.ajax({ 
   url: 'http://localhost:8080/app',
   type: 'POST',
   contentType:'application/json',
   headers: {
   'Access-Control-Allow-Origin' : 'http://localhost:8080',
   },
       data: JSON.stringify(arr[0]),
       success: function(data){
        //On ajax success do this
             alert(data);
          }
     });

阅读 578

收藏
2020-07-26

共1个答案

小编典典

基本上,要发出跨域AJAX请求,请求的服务器应允许资源的跨源共享(CORS)。您可以从这里阅读有关此内容的更多信息:http
:
//www.html5rocks.com/en/tutorials/cors/

在您的方案中,您要在客户端中设置标头,而实际上需要将标头设置为http:// localhost:8080 /
app
服务器端代码。

如果使用的是PHP Apache服务器,则需要在.htaccess文件中添加以下内容:

Header set Access-Control-Allow-Origin "*"
2020-07-26