跨域的问题(jsonp和cors)

Posted luobinziyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了跨域的问题(jsonp和cors)相关的知识,希望对你有一定的参考价值。

由于浏览器的同源策略,用户想要跨域访问浏览器就会报错,那么就涉及到解决跨域的问题。最近我接触到的解决方法是两个,jsonp和cors。

jsonp(json with padding)我们虽然不能直接用XMLHttpRequest 请求不同域上的数据,但是在页面上 引入不同域上的js 脚本文件却是可以的,jsonp正是利用这个特性来实现的。

jsonp的优点:兼容性好,能直接访问响应文本。

缺点:安全性低从其他域直接加载代码执行只支持get请求(传输量受影响)

 

cors(cross-origin resource sharing)跨源资源共享

整个CORS通信过程,都是浏览器自动完成,不需要用户参与。因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

 

JSONP只支持GET请求,CORS支持所有类型的HTTP请求。JSONP的优势在于支持老式浏览器,以及可以向不支持CORS的网站请求数据。

 

以上是关于跨域的问题(jsonp和cors)的主要内容,如果未能解决你的问题,请参考以下文章

AJAX跨域调用相关知识-CORS和JSONP

解决ajax跨域的办法,代理,cors,jsonp

CORS跨域的限制与解决

00,跨域的问题

WeX5 - AJAX跨域调用相关知识-CORS和JSONP

详解 CORS跨域的几种不同实现方式