跨域请求和解决方式

什么是跨域请求以及实现跨域的方案

域指的是这样的一个概念:我们认为若协议 + 域名 + 端口号均相同,那么就是同域。

处于安全考虑,为了规避CSRF攻击,浏览器会拦截非同源的Ajax请求。

解决方法:

  1、jsonp

    优点:不受同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行。

    缺点:它只支持 GET 请求,而不支持 POST 请求等其他类型的 HTTP 请求

  2、cors

    优点:支持所有类型的 HTTP 请求;可以是使用普通的 XMLHttpRequest 发起请求和获取数据,比起 JSONP 有更好的错误处理。

    缺点:虽然绝大多数现代的浏览器都已经支持 CORS,但是 CORS 的兼容性比不上 JSONP,一些比较老的浏览器只支持 JSONP

原文地址:https://www.cnblogs.com/katu/p/11505742.html