0.1.3 • Published 6 years ago
cy-jsonp v0.1.3
jsonp-implementation
cy-jsonp 实现了一个简易的 jsonp 库
安装
使用 npm
$ npm install cy-jsonp --save
之后在您的项目中导入模块
import jsonp from 'cy-jsonp'
// or
// const jsonp = require('cy-jsonp')
或在浏览器直接引入 dist/jsonp.js
<script src="xxxx/dist/jsonp.js"></script>
API
jsonp(url [, data ,opts ,cb])
jsonp 函数将返回一个 promise 实例
url
: {string} 请求地址data
: {object} 可选,请求需要传递的参数,将被转换为queryString
opts
: {object} 可选,配置项param
: {string} 指定回调函数名的键(字段名),默认为"callback"
prefix
: {string} 指定自动生成的回调函数名前缀,默认为"jsonp"
name
: {string} 指定回调函数名(作为 param 的值),默认为prefix + count
(count 为内部计数器)timeout
: {number} 设置请求超时毫秒数,默认为60000
,当为0
时不设置超时
cb(err, data)
: 可选,请求成功或超时后执行的回调。该函数将在resolve(data)
/reject(err)
之前被调用
示例
jsonp 函数中 第2、3、4个参数都是可以省略的,也可以在第2或第3个参数中传递回调函数
1.使用 promise 的 then/catch
来接收响应
jsonp('http://jsfiddle.net/echo/jsonp', {
pageNo: 1,
pageSize: 10,
keyword: 'heihei'
}).then(data => {
// TODO
}).catch(err => {
// TODO
})
2.使用回调函数来接收响应
jsonp('http://jsfiddle.net/echo/jsonp',
{
pageNo: 1,
pageSize: 10,
keyword: 'heihei'
},
function (err, data) {
if(err){
// TODO
return
}
// TODO
}
)