跨域的几种处理方式?

 

跨域概念:

  指的是浏览器克服同源策略向服务器发起请求。同源策略指的是发送请求时的协议、域名、端口一致。

处理方式:

  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

 

 资料:(2条消息) 前端跨域的三种解决方案_hao_sir-CSDN博客

posted on 2022-03-08 08:37  SE7EN_96  阅读(87)  评论(0)    收藏  举报

导航