jsonp 是为了解决跨域问题而存在的。
前后端分离后,我们经常遇到一些跨域的情况。只要协议、域名、端口有任何一个不同,就会出现跨域。
当我们使用ajax
发送请求时,js 中的XMLHttpRequest
是受跨域限制的,而引入 js 是不受跨域限制的,所以 jsonp 可以使用这个特性来实现。
由于 jsonp 使用<script>
实现的,所以只能发送GET
请求。
页面中引入jsonp.js
,使用Jsonp.get()
方法。
注册了一个全局变量Jsonp
,只包含一个方法get
。
Jsonp.get(url, data, success)
url
(String): 请求的地址data
(String|Object): 请求参数success
(Function): 请求响应后的回调函数
下载源码后,命令行运行npm run test
。
注:需要nodejs
环境。