跨域定义、出现原因、解决办法

跨域:页面的接口请求地址页面地址中域名、端口、协议有一个不同时,即为跨域。

 

出现原因:因为浏览器发起接口请求必须符合同源协议,即域名,端口和协议必须都一样,否则跨域,无法请求数据,目的是保证网站安全。

跨域出现解决办法:

  • cors

后端设置即可

当访问这个后端接口时,后端返回请求头:Access-Control-Allow-Origin,假如为 *,则代表无论什么请求都可获取到资源

res.setHeader('Access-Control-Allow-Origin', '*');    

  • jsonp

利用的原理: script 标签可以跨域请求资源。

我们平常写页面时, img 里的 src 属性可以访问跨域的路径,并返回图片,我们可以利用 src 这个属性,但是 img 拿到数据后,无法对数据进行操作。而 script 标签可以,所以我们使用 script 标签将回调函数作为参数拼接在 src 的 url 中,后端收到请求,调用该回调函数,并将数据作为参数返回,响应头返回文档类型:js。

  • 代理

中间有一个服务器,服务器之间没有同源限制

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值