什么是跨域及跨域请求资源的方法?

1、由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。

2、跨域请求资源的方法:

(1)、porxy代理(反向服务器代理)

首先将用户发送的请求发送给中间的服务器,然后通过中间服务器再发送给后台服务器,然后在将返回的结果返回给前端。

(2)CORS

后台来设置一个允许跨域的操作

res.writeHead(200, {
    "Content-Type": "text/html; charset=UTF-8",
    "Access-Control-Allow-Origin":'http://localhost',
    'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
    'Access-Control-Allow-Headers': 'X-Requested-With, Content-Type'
});
(3)jsonp---只支持get请求
通过动态创建script来读取他域的动态资源,获取的数据一般为json格式。
<script>
    function testjsonp(data) {
       console.log(data.name); // 获取返回的结果
    }
</script>
<script>
    var _script = document.createElement('script');
    _script.type = "text/javascript";
    _script.src = "http://localhost:8888/jsonp?callback=testjsonp";
    document.head.appendChild(_script);
</script>
原文地址:https://www.cnblogs.com/duanzhange/p/8684347.html