问题描述:

跨域请教报错:JUSTEP:230109。
在一个大型架构里,静态和动态资源肯定要分开的(为了让静态资源做CDN缓存),动态和静态域名也会不一样。很多情况下都会在静态页面里通过ajax异步提交到动态页面上去。那么就会产生跨域的问题。
文档里介绍了CORS等跨域方法,确实是可行的,但是遇到个问题,只能无状态,也就是不能传输session和cookie。这样也产生问题了,不可能不做状态和权限检查?这个问题也有个解决办法,就是在ajax请求的时候设置允许传输cookie的参数:

"xhrFields": {
withCredentials: true
},
"crossDomain": true,

服务器端也做下允许接受的参数。

我在其他框架里测试通过,但是在wex5里,发现请求带上了cookie,服务器端返回也通过,可是wex5却报了个错,后测试直接加这个参数运行也会报错,是怎么回事?

问题原因:

在请求带cookie的时候,Access-Control-Allow-Origin是不能设置为*的,必须指定授权URL

解决方法:

在请求带cookie的时候,Access-Control-Allow-Origin是不能设置为*的,必须指定授权URL;客户端把SESSION ID存储到COOKIE里,然后将ID提交到服务端验证,服务器端要允许跨域