跨域的问题(4)

在这里插入图片描述
关于跨域如何产生 如何解决跨域
跨域问题的产生就是浏览器的同源策略 只有当协议、端口、和域名都相同的页面,则两个页面 具有相同的源。只要有一个不同,就产生跨域问题
1 使用代理.代理就是用在后端监听这个端口,只要是这个端口,就转发到真正的服务器地址,获取数据后在通过同源的端口返回数据
2.使用jsonp script标签的src没有同源限制 jsonp通过script标签src获取接口 拼接了一个 callback,回调函数名称是 cb
3.使用CORS Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙 盒脚本的方法,以避开浏览器的同源策略,确保安全的跨域数据传输。 服务器一般需要增加如下响应头的一种或几种:
Access-Control-Allow-Origin: *
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
跨域请求默认不会携带Cookie信息,如果需要携带,请配置下述参数:
“Access-Control-Allow-Credentials”: true
// Ajax设置
“withCredentials”: true、

浏览器从一个域名的网页去请求另一个域名的资源时,域名、端口、协议任一不同,都是跨域
解决:
1、jsonp跨域
2、nginx反向代理(中间件):
3、PHP端修改header
4、document.domain
5、window.name
6、postMessage
7. call/apply 里面的第一个参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值