跨域问题浅析

Posted

tags:

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

跨域问题

产生原因:浏览器同源策略(在同域名、同端口、同协议是才可进行数据交换)

解决方法:

1、jsonp(前后端结合的跨域方式)

原理:通过script的src属性来进行数据请求,因其不受同源策略影响,故能请求道数据。

注意:数据处理需要会调函数进行,本质上我们把回调函数的名字告诉后端,后端将数据放入函数,所以需要告诉后端回调函数是什么,这即是前后端结合。

          一个script只能请求一次,多次请求应该创建动态script,回调函数也是,使用完成移除,避免全局污染。

缺点:只能用get请求

2、cors(纯后端的解决方式)

每次都会有一个origin信息被后端捕捉,后端通过设置对此origin的域允许访问来解决跨域问题

3、服务端代理(proxy)

因为服务器间的数据交互没有跨域限制,所以我们可以通过一个中间代理服务器来请求目标服务器的数据。也就是开发服务器发送请求到代理服务器,代理服务器在请求目标服务器,将数据返回给开发服务器

 

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

说说JSON和JSONP,浅析JSONP解决AJAX跨域问题

辛星浅析同源策略

如何解决js跨域问题

NestJS跨域问题

跨域问题

使用CORS解决跨域问题