跨域问题
产生原因:浏览器同源策略(在同域名、同端口、同协议是才可进行数据交换)
解决方法:
1、jsonp(前后端结合的跨域方式)
原理:通过script的src属性来进行数据请求,因其不受同源策略影响,故能请求道数据。
注意:数据处理需要会调函数进行,本质上我们把回调函数的名字告诉后端,后端将数据放入函数,所以需要告诉后端回调函数是什么,这即是前后端结合。
一个script只能请求一次,多次请求应该创建动态script,回调函数也是,使用完成移除,避免全局污染。
缺点:只能用get请求
2、cors(纯后端的解决方式)
每次都会有一个origin信息被后端捕捉,后端通过设置对此origin的域允许访问来解决跨域问题
3、服务端代理(proxy)
因为服务器间的数据交互没有跨域限制,所以我们可以通过一个中间代理服务器来请求目标服务器的数据。也就是开发服务器发送请求到代理服务器,代理服务器在请求目标服务器,将数据返回给开发服务器