正在获取请求't通过访问控制检查:否'访问控制允许来源'标头存在于请求的资源上
Getting request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
我正试图从我的应用程序向Tomcat服务器发送Ajax请求,但我收到了这个错误(我的web应用程序正在Chrome上运行):
对飞行前请求的响应未通过访问控制检查:请求的资源上不存在"access control Allow Origin"标头。因此,不允许访问源"null"。响应的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
文件中添加以下内容:
Header set Access-Control-Allow-Origin "*"
如果请求REST服务:
您需要在带有Spring注释的REST服务的端点上允许CORS(跨源资源共享):
@CrossOrigin(origins = "http://localhost:8080")
非常好的教程:https://spring.io/guides/gs/rest-service-cors/
相关文章:
- 否'访问控制允许来源'标头存在于IISNOde中请求的资源(AngularJS+NodeJs)上
- 飞行前响应中的访问控制允许标头不允许Angularjs请求标头字段访问控制允许标题
- Elasticsearch https cors已启用,但仍获得No'访问控制允许来源'标头存在于请求的
- XMLHttpRequest无法加载.否'访问控制允许来源'标头存在于请求的资源上
- 否'访问控制允许来源'请求的资源上存在标头.-Pinterest oauth实现
- Microsoft认知服务JavaScript请求'访问控制允许来源'
- 否'访问控制允许来源'标头存在于请求的资源上.起源'http://localhost:8100&
- 否'访问控制允许来源'标头存在于请求的资源上.原点''因此不允许访问
- 否'访问控制允许来源'当跨域设置为true时,请求的资源错误中存在标头
- AngularJS:没有'访问控制允许来源'标头存在于请求的资源上
- D3 Json请求获取XmlHttpRequest错误:访问控制允许原点不允许原点为null
- 亚马逊s3 Javascript-否'访问控制允许来源'标头存在于请求的资源上
- Azure Blob 存储 请求的资源错误中不存在访问控制允许源标头
- Socket.io 请求的资源上不存在“访问控制允许源”标头.因此,不允许访问源“http://localhost”
- 跨源资源错误:请求的资源上不存在“访问控制允许源”标头
- 角度设置自定义标头始终包装在访问控制请求标头中
- 简单请求中的 Cors 错误:请求标头字段 预检响应中的访问控制-允许-标头不允许授权
- 交叉请求时出错:“访问控制允许源不允许源”
- AJAX 请求收到“请求的资源上不存在'访问控制-允许源'标头”错误
- 执行预检请求时是否需要访问控制允许源 CORS 标头