如何用CORS来解决JS中跨域的问题

JavaScript029

如何用CORS来解决JS中跨域的问题,第1张

1、CORS的原理:CORS定义一种跨域访问的机制,可以让AJAX实现跨域访问。CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,只需由服务器发送一个响应标头即可。

2、tomcat如何配置cors的跨域请求:

在tomcat中,有一个和cors相关的拦截器:CORS Filter

该过滤器可以通过添加必需的访问控制请求头Access-Control-*对象来进行跨域。同时还可以对一些请求进行拦截。如果请求是无效的,或者是不被允许的,该请求被拒绝或者禁止。

AngularJS的CORS错误,解决方法是换成jsonp请求。

比如:

var url = "http://host/training_webapi?callback=JSON_CALLBACK"

$http.jsonp(url)

.success(function(data){

console.log(data.found)

})

以上利用$http.jsonp就可以避免CORS错误了,因为默认是同域名的请求,AngularJS是提供了这样的跨域方法的。