跨域 + 四种解决办法

目录

同源策略

 解决方案

1、jsonp

2、前端代理

3、后端解决

4、Nginx代理


同源策略

说到跨域就不得不提到同源策略,什么是同源策略?

请求的时候拥有相同的  协议 域名 端口 只要有一个不同就属于跨域

 解决方案

解决跨域问题一共有四种方式,jsonp、前端代理、后端设置请求头、nginx

1、jsonp

原理:通过script的src不受同源策略的限制,可以跨域请求数据。

缺点:但是只能发送get请求不安全;

后端返回的是一个函数,但是这个函数是在前端定义的,他会把值注入到这个函数的参数里面

2、前端代理

是通过纯前端的方式解决跨域

注意:这种方式只对开发环境有效,如果是上线使用还需要通过nginx去改相对应的配置 。

3、后端解决

只需要在后端开启允许跨域,通过setHeader开启'Access-Control-Allow-Origin'

意思就是允许前端的任何请求去访问这个接口

缺点:不安全任何人都可以去调用你的接口,为了安全可以指定ip只有指定ip才可以访问。

4、Nginx代理

也是最推荐的一种方式

修改Nginx的配置文件解决跨域,通过修改配置文件将请求转发到某个代理路径。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值