1)项目先安装原JSONP
npm install jsonp --save
2)在src的common通用文件里的js新建jsonp.js用于封装原JSONP
内容
import originJsonp from 'jsonp' //引入原jsonp
export default function jsonp(url, data, option) {
url += (url.indexOf('?') < 0 ? '?' : '&') + param(data) //判断是否有'?'确定添加'?'or'&'
return new Promise((resolve, reject) => { //返回Promise对象
originJsonp(url, option, (err, data) => {
if (!err) {
resolve(data)
} else {
reject(err)
}
})
})
}
export function param(data) {
let url = ''
for (var k in data) {
let value = data[k] !== undefined ? data[k] : ''
url += `&${k}=${encodeURIComponent(value)}`
}
return url ? url.substring(1) : '' //第一个'&'不需要,去除
}