我正在尝试从我的应用程序向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); } });
基本上,要发出跨域AJAX请求,请求的服务器应允许资源的跨源共享(CORS)。您可以从这里阅读有关此内容的更多信息:http : //www.html5rocks.com/en/tutorials/cors/
在您的方案中,您要在客户端中设置标头,而实际上需要将标头设置为http:// localhost:8080 / app服务器端代码。
如果使用的是PHP Apache服务器,则需要在.htaccess文件中添加以下内容:
.htaccess
Header set Access-Control-Allow-Origin "*"