跨域,跨域的解决办法

本文详细介绍了同源策略的基本概念及其重要性,并探讨了三种主要的跨域请求解决方案:JSONP、CORS及通过配置vue.config.js来解决Vue项目中的跨域问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

同源策略

同源策略,是由 Netscape 提出的一个安全策略,它是浏览器最核心也是最基本的安全功能,如果缺少同源策略,则浏览器的正常功能可能都会受到影响,现在所有支持JavaScript的浏览器都会使用这个策略。

规定:浏览器要求,在解析Ajax请求时,要求浏览器的路径与Ajax的请求的路径必须满足协议、域名(主机host)、端口号都相同,则是同源策略,可以访问服务器,只要有一个不相同,那么都是非同源

vue.config.js

请求接口的时候出现Access-Control-Allow-Origin等就说明了请求跨域。

vue中解决跨域:配置vue.config.js文件,如果没有就自行新建一个

原理:

1、将域名发送给本地服务器(localhost:8080)

2、再由本地的服务器去请求真正的服务器

3、因为请求是从服务端发出的,所以就不存在跨域问题了

注意:修改vue.config.js文件需要重启服务

JSONP

是 JSON with padding(填充式 JSON 或参数式 JSON)的简写。

JSONP实现跨域请求的原理简单的说,就是动态创建<script>标签,然后利用<script>的src 不受同源策略约束来跨域获取数据。本质上来说也是一个get请求

在客户端创建一个用于回调的函数(比如:getData()),然后在远程服务器上调用这个函数并且将json格式的数据作为参数,完成回调,从而实现了前后端跨域交互数据。

CORS

CORS 是跨域资源分享(Cross-Origin Resource Sharing)的缩写

浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。

解决跨域问题,就是在服务器端给响应添加头信息 Access-Control-Allow-Origin

JSONP、CORS需要后台的配合和参与.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值