javascript - jsonp返回的数据格式与普通json的区别
ringa_lee
ringa_lee 2017-04-11 12:50:16
[JavaScript讨论组]

jsonp返回的数据格式与普通json的区别?

其实我想问的是 [jsonp返回的数据格式] 与 [普通json] 的区别,而不是问jsonp与json的区别。当通过jsonp方式访问时, 服务器端传回一个数组时, 就不是标准的json格式了吧?

ringa_lee
ringa_lee

ringa_lee

全部回复(4)
PHPz

JSON是一种数据交换格式,而JSONP是一种依靠开发人员的聪明才智创造出的一种非官方跨域数据交互协议。两者不是同一种东西。

伊谢尔伦
  • jsonp是一种跨域方法

  • json单纯的是一种数据格式。
    之所以很多人都会理解错误,是因为在jquery中都是datatype....

jsonp返回的其实是一个函数的调用,传入了一个参数,这个参数就是真正需要获取到的数据,而json就单纯的指代这个数据。

PHPz

jsonp传送回来的应该是字符串的格式,回调函数得到的可能是这个字符串eval(猜的)后的数据

PHPz

jsonp其实返回的是一个JS函数调用代码,把返回的数据和客户端能调用的函数名拼接在一起,放到浏览器环境下,去执行而得到最终的服务端数据,也就是jsonp是一种json数据的传输方式而不是格式
而json是一个数据格式

例如

<script>
//预定义个全局函数
function _jsonp(resultData){
    return resultData;
}
</script>
<script src="http://sxxxx.services/getList?p=yyyy"></script>

只要getList返回的内容为_jsonp({"a":"1234","b":9999});
那么客户端就能得到结果数据 {"a":"1234","b":9999}

就最终的结果来看,客户端获取的数据格式都是一样的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号