课程
/前端开发
/jQuery
/ajax跨域完全讲解
不想写死,请问使用这个CrossOrigin注解的时候怎么在orign中获取request中的Access-Control-Allow-Origin值呢?
2018-09-24
源自:ajax跨域完全讲解 5-17
正在回答
根据课程里老师说的,Access-Control-Allow-Origin这个值在nginx代理服务器那里已经配置好了,用的是动态的request请求域名,所以这里的origin可以不用设置。@CrossOrigin这个注解原理是利用spring中内置的拦截器对报文进行修改,而因为getCookie中添加了xhrFields: withCredentials: true这个属性,所以需要在响应报文中添加Access-Control-Allow-Credentials这个属性,但他默认为false,所以设置为true就可以了
虽然这里只用设置第二个参数就能解决问题,但是还有一个疑问:
=====================
点这个注解进去,发现orgins默认是“*”,allowCredentials默认是“”;
但是如果将allowCredentials设置成true,orgins不设置,通过前台查看orgins对应的就是请求头中Access-Control-Allow-Origin了,这是为什么呢?
举报
完全讲解Ajax跨域产生的原因和解决思路,掌握跨域的各种解决方案
2 回答res.addHeader("Access-Control-Allow-Headers", "*");
1 回答The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost:8082, http://localhost:8082', but only one is allowed.
3 回答使用@CrossOrigin时getCookie不能通过
1 回答服务器响应头中的origin字段
1 回答跨域的时候服务端怎么跨域设置cookie呢?