跨域的九种解决方式
JSONP
<script>
function a({url,params,cb}){
return new Promise((resolve,reject)=>{
//创建script标签
let script = document.createElement('script');
//封装src内容
let arr = [];
let aparams={...params,cb};
for(let key in aparams){
arr.push(`${key}=${aparams[key]}`)
}
let newp = arr.join("&");
script.src=`${url}${newp}`;
//将标签加入到body里面
document.body.appendChild(script);
//成功了,则执行callback函数
window[cb]=function(val){
resolve(val);
//执行完成了,则给script标签给删除了
document.body.removeChild(script);
};
})
}
a({
url:"https://www.baidu.com/su?",
params:{wd:"aaa"},
cb:"show"
}).then((res)=>{
console.log(res);
});
</script>
技术改变一切