jsonp原理详解

JSONP(全称:JSON with padding)是一种跨域请求的方法,它允许在不受限制地从一个域名获取数据并在另一个域名下使用该数据。

JSONP 的原理是通过动态创建 script 标签来实现。在客户端向服务器发送请求时,服务器返回 JSON 数据,并将其封装到一个函数调用中。然后客户端会将这个函数定义在当前页面中,并将函数名作为参数传递给服务器。服务器在返回数据时,将 JSON 数据作为实参传递给客户端指定的函数,并将其封装在一个 script 标签中返回。

例如,客户端发出如下请求:

<script src="http://example.com/data?callback=handleData"></script>
其中 callback 参数指定回调函数的名称,服务器会将数据封装成以下形式返回给客户端:

handleData({"name": "小明", "age": 30})
此时客户端就会调用 handleData 函数,并将数据作为参数传入函数中。

需要注意的是,由于 JSONP 是通过 script 标签获取数据的,因此只能获取数据,不能进行 POST 请求。此外,JSONP 请求不是真正的 AJAX 请求,因为它使用的是 script 标签而不是 XMLHttpRequest 对象。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值