我们在使用JavaScript时,面对ajax请求受同源策略影响,是不允许进行跨域请求,这时就要使用jsonp解决跨域请求问题。jsonp是什么呢?本文通过jsonp的作用、功能实现和优缺点向大家介绍jsonp。
1、作用
用来解决跨域请求问题的。
2、功能实现
对于跨域限制,script标签src属性、link标签ref属性和img标签src属性没有这种限制,JSONP可以利用script标签无同源限制的这个开放策略解决跨域请求。
3、jsonp优缺点
优点:
不受到同源策略的限制;
在更加古老的浏览器中都可以运行,兼容性更好,不需要 XMLHttpRequest 或 ActiveX 的支持;
在请求完毕后可以通过调用 callback 的方式回传结果。
缺点:
只支持 GET 请求而不支持 POST 等其它类型的 HTTP 请求;
只支持跨域 HTTP 请求这种情况,不能解决不同域的两个页面之间如何进行 JavaScript 调用的问题。
以上就是jsonp的介绍,还需注意的是用jsonp抓到的资料并不是 json,而是任意的JavaScript,用 JavaScript 直译器执行而不是用 JSON 解析器解析。