本文主要是介绍使用axios发送jsonp请求,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
【背景】
axios 本身不支持 jsonp 这种 dataType(不同于 ajax)
【解决方法】
自行封装一个 jsonp 调用方法:
jsonp(url) {
return new Promise((resolve, reject) => {
// 这里的 "jsonCallBack" ,和调用的 jsonp 的 url 中的 callback 值相对应(见粗体字)
window.jsonCallBack =(result) => {
resolve(result)
}
const JSONP = document.createElement('script');
JSONP.type = 'text/javascript';
JSONP.src = url;
document.getElementsByTagName('head')[0].appendChild(JSONP);
setTimeout(() => {
document.getElementsByTagName('head')[0].removeChild(JSONP)
},500)
})
}
调用示例:
request.jsonp(
'https://xx.map.yy.com/ss/location/v1/ip?callback=jsonCallBack&key=[KEY]&output=jsonp&_=[NUMBER]'
)
作者:南慕瑶
链接:https://www.jianshu.com/p/9d719dcdcbcf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于使用axios发送jsonp请求的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!