跨域问题,及解决方案

1.同源策略json

    同源策略即,请求URL地址中的协议,域名,端口都相同,同源策略是浏览器的一种安全策略,主要是为了保证浏览器的安全性,同源策略下,浏览器不容许Ajax跨域获取服务器数据api

 

2.什么是跨域问题呢?跨域

  协议(http,https),域名(api,www....),端口(8080,5000,3000,80)三者之一不一样就会形成跨域问题,浏览器

 

3.跨域是会报什么样的错呢?安全

 

4.如何解决跨域问题?服务器

经常使用 的解决方案是jsonp,jsonp只能实现get的跨域,实现post的跨域须要服务器端开放相应的权限app

 

全部的静态标签是不存在任何跨域问题的,因此,jsonp就能够借助src来解决跨域问题函数

 

5.jsonp封装post

 

<script>
    jsonp({
      url: 'http://localhost:3000',
      data: ' ',
      success: function(data){
        console.log(data);
      }
    });

    function jsonp(options){
        //将用户经过命名空间定义的函数挂载到全局
        window.getData = options.success;
        //处理字符串拼接
        options.url = options.url + '?callback=getData';
       
        //建立一个script标签
        let script = document.createElement('script');
        script.src = options.url;
        document.body.appendChild(script);
     }
</script>

 

 

 

注:若是有多个跨域,服务器和客户端要对多个方法,很麻烦!jsonp

相关文章
相关标签/搜索