JSONP实现跨域

虽然我们不能直接用XHR请求不同域上的数据,但是在页面上引入不同域的js文件却是可以的

jsonp正是利用这个特性来实现的

jsonp由两部分组成:处理数据的回调函数和药传入回调函数的JSON数据

实现步骤:

首先,第一个script标签定义一个处理数据的回调函数

然后,再用一个script标签载入一个js文件

最后,当js文件载入成功后,会执行我们在URL参数中指定的回调函数,并把我们需要的数据作为参数传入。

JSONP的优缺点

JSONP的优点是:它不像XMLHttpRequest对象实现的Ajax请求那样受到同源策略的限制;它的兼容性更好,在更加古老的浏览器中都可以运行,不需要XMLHttpRequest或ActiveX的支持;并且在请求完毕后可以通过调用callback的方式回传结果。

JSONP的缺点则是:它只支持GET请求而不支持POST等其它类型的HTTP请求;它只支持跨域HTTP请求这种情况,不能解决不同域的两个页面之间如何进行JavaScript调用的问题。

 

posted @ 2017-03-11 10:52  changning  阅读(128)  评论(0编辑  收藏  举报