CORS跨域问题

Posted tamako

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CORS跨域问题相关的知识,希望对你有一定的参考价值。

CORS跨域问题
原因:javascript 在不同域名之间请求数据。 由于 JavaScript 同源策略的限制,处于安全的考虑js 只能获取自己域名下的资源,不能跨域请求资源

原理://会产生跨域请求
//当前系统域名为 http://a.com
//要访问/跳转的域名为 http://b.com
//就会产生跨域请求
//不是浏览器不能解析 也不是请求服务器不接收
//是服务发送到服务器 但是由于是跨域请求 服务器会标识是跨域请求 然后返回结果给服务器
//但是服务器知道这个是跨域请求
//浏览器厂商认为跨域请求/跳转是不安全的 所以不解析 报异常
//不跳转是浏览器行为

解决:cors解决
1:直接设置响应对象response的响应头部属性
/
//可以设置响应头部属性
//设置允许可以跨域请求的域名
response.setHeader("Access-Control-Allow-Origin", "http://a.com");
//只能添加一个
为全允许
//设置允许可以读取cookie中的数据
response.setHeader("Access-Control-Allow-Credentials", "true");
*/

    2:springmvc处理器方法上添加注解@CrossOrigin(origins =    "http://a.com",allowCredentials = "true")
        其中@CrossOrigin中的2个参数:
        origins  : 允许可访问的域列表
        maxAge:准备响应前的缓存持续的最大时间(以秒为单位)。
        也可以作用在 contraller上 为整个contraller启用

以上是关于CORS跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

解决跨域问题(CORS)

跨域资源共享 - CORS

CORS 跨域

flask 跨域问题

Web CORS 跨域方式使用方式

CORS跨域操作cookie