跨域的几种处理方式?
跨域概念:
指的是浏览器克服同源策略向服务器发起请求。同源策略指的是发送请求时的协议、域名、端口一致。
处理方式:
1.jsonp跨域,利用的是sccipt标签不受跨域限制,通过src属性,向后台发送一个带有回调参数的get请求,而后拿到回调函数参数中的数据,算是钻同源策略的空子了吧。
<script>
var script = document.createElement('script');
script.type = 'text/javascript';
// 传参一个回调函数名给后端,方便后端返回时执行这个在前端定义的回调函数
script.src = 'http://www.domain2.com:8080/login?user=admin&callback=handleCallback';
document.head.appendChild(script);
// 回调执行函数
function handleCallback(res) {
alert(JSON.stringify(res));
}
</script>
服务端返回如下(返回时即执行全局函数):
handleCallback({"success": true, "user": "admin"})
2.CORS跨域
前端不动 后端配合
像调用正常的接口一样调用接口,通过后端修改配置使得站点能够访问
3.接口代理
通过修改nginx服务器配置来实现
前端修改 后台不动
修改config/index.js文件

在main.js文件中添加baseURL

浙公网安备 33010602011771号