小别致真东西
文章77
标签31
分类26
jsonp

jsonp

通过 script 标签实现
能够绕过同源限制的标签

<Link href="跨域的CSS地址"/> // 一般使用 CDN 地址
<script src="跨域的js地址" />
<img src="跨域的图片地址" />

跨域问题处理

基于安全的需求要求,浏览器同源策略(服务端没有同源策略,一般是做转发)
同源:协议,域名,端口,三者必须一致。

//前端页面定义好函数
<script>
window.callback = function(x) {
console.log(x);
}
let script = document.createElement('script');
script.src = "http://localhost/getData.js";
btn.addEventListener('click', function() {
document.body.appendChild(script);
});
</script>

所有的跨域,都必须经过server端的允许和配合
服务端根据 url 设置好返回

response.write(`callback({name:"Bob"})`);

jsonp 为什么不是真正的 ajax

并没有用到 XMLHttpRequest, 是一个 JS 加载的变种方案,实现跨域信息交换

本文作者:小别致真东西
本文链接:https://heiliu.github.io/2020/06/05/jsonp/
true