一、写在前面
今天总结一下阿里前端的一道笔试题,实现jsonp,传入URL,callback和callbackName 三个参数
。这里的URL
是地址字符串,callback
是回调函数,callbackName
是后端返回数据的名称
。
二、手写
<script>
function jsonp(url, callbackName, callback) {
return new Promise((resolve, reject) => {
try {
let str = `${url}?callback=${callbackName}`
let scriptEle = document.createElement('script')
scriptEle.type = 'text/javascript'
scriptEle.src = str
scriptEle.addEventListener('load', callback)
window[callbackName] = function (data) {
resolve(data)
document.body.removeChild(scriptEle)
}
document.body.appendChild(scriptEle)
} catch (err) {
reject(err)
}
})
}
jsonp('http://127.0.0.1:3000/home', 'fun1', () => {console.log('加载成功')}).then(res => {
console.log(res)
})
</script>
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_47450807/article/details/124091555
内容来源于网络,如有侵权,请联系作者删除!