什么是 jsonp
在Web开发中,由于浏览器出于安全考虑,不允许跨域请求资源。JSONP(JSON with Padding)是一种跨域请求方案,它不同于 AJAX 的 XHR 请求,而是通过在页面上动态创建<script>标签,返回一段函数调用,从而实现跨域请求页面数据的功能。
jsonp-simple
jsonp-simple 是 npm 上的一个 jsonp 请求库,它使用起来十分简单。
安装
使用 npm 进行安装:
npm install jsonp-simple
使用
Function API
jsonp(url, params, callback, options)
url
:json 请求的地址。params
:需要携带的参数,它应该是一个对象(键值对)。callback
:json 回调函数的名称。options
:包含其他一些可选配置,如超时时间等等。
下面是使用示例:
-- -------------------- ---- ------- ------ ----- ---- --------------- -------------------------------------- - ---- ----- -- ----------- -------- ----- ----- - -- ----- - --------------------------- - ---- - ------------------ - ---
Promise API
jsonpPromise(url, params, callback, options)
它与函数API的参数几乎相同,除了 callback
参数,而且它返回一个 Promise 对象。
下面是使用示例:
-- -------------------- ---- ------- ------ ----- ---- --------------- -------------------------------------- - ---- ----- -- ----- - -------- ---- -- -------------- ------ - ------------------ -- --------------- ----- - --------------------------- ---
其他注意事项
- 为了方便,jsonp-simple 默认使用全局函数名作为回调函数名,如果您想自定义回调函数名字,您可以将
callback
设置为null
或undefined
以使用默认值,或者将其设置为回调函数名字符串。 - 如需超时,可在可选配置中设置
timeout
参数,单位为毫秒。
总结
jsonp-simple 是一个简单易用的 jsonp 请求库,对于没有使用过 jsonp 的前端开发人员来说是一种十分实用的跨域请求方案,值得一试。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600568d981e8991b448e49b7