什么是JSONP?

JSONP(JSON with Padding)是 json 的一种"使用模式",可以让网页从别的域名(网站)那里获取资料,即跨域读取数据。

由于同源政策的原因,我们从不同的域名(网站)访问数据需要一个特殊的技术———JSONP

JSONP的原理
1、利用script标签的src属性来实现跨域。

2、通过将前端方法作为参数传递到服务器端,然后由服务器端注入参数之后再返回,实现服务器端向客户端通信。

通俗一点就是:
请求方:zhang.com 的前端程序员(浏览器)
响应方:wang.com 的后端程序员(服务器)
1、请求方创建 script,src 指向响应方,同时传一个查询参数 ?callbackName=xxx
2、响应方根据查询参数callbackName,构成出形如:
xxx.call(undefined,‘你要的数据’)

xxx(‘你要的数据’)
这样的响应
3、浏览器接收到响应,就会执行 yyy.call(undefined,‘你要的数据’)
4、那么请求方就知道了他要得数据
这就是 JSONP

JSONP 为什么不支持 POST
1、因为 JSONP 是通过动态创建 script 实现的
2、动态创建 script 的时候只能用 GET 没有办法用 POST

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值