【跨域】封装一个JSONP方法
作者:
Adder | 来源:发表于
2021-05-21 15:26 被阅读0次/**
*封装之后的jsonp
* @param {请求资源地址} url
*/
function getJsonP(url) {
return new Promise((resolve, reject)=> {
const randomName = 'lucyJsonpFunctionName' + Math.random()
window[randomName] = (data) => {
resolve(data)
}
const script = document.createElement('script')
// callback是前后端程序员默认使用的名称
script.src = `${url}?callback=${randomName}`;
script.onload = () => {
//防止多个script标签,导致代码冗余
script.remove()
}
script.onerror = () => {
reject()
}
document.body.appendChild(script)
});
}
getJsonP('http://qq.com:8888/friends.js').then((response) => {
console.log(response)
})
本文标题:【跨域】封装一个JSONP方法
本文链接:https://www.haomeiwen.com/subject/mnpwjltx.html
网友评论