AJAX实现跨域的三种方法
什么情况下算跨域?
协议://子域名.域名:端口/ 【只要有一个不符合,就算跨域】
一个特殊情况:
AJAX实现跨域的三种方法:
1、代理
难易程度:最麻烦,但使用最广泛
实现原理:通过后台(ASP、PHP、JAVA、ASP.NET)获取其它域名下的内容,然后再把获得内容返回到前端,这样因为在同一个域名下,所以就不会出现跨域的问题。
2、JSONP (JSON with Padding)
难易程度:相对简单
实现原理:人们发现,<script>(常用)、<img>、<iframe> 等标签的 src 属性在调用Js文件的时候不受跨域的影响。
缺点:只支持GET方式调用。
3、XHR2(XMLHttpRequest Level 2)
难易程度:最简单
实现原理:HTML5提供的XMLHttpRequest Level 2已经实现了跨域访问以及其他的一些新功能
缺点:只支持HTML5,如果你是移动端开发,可以选择使用XHR2。