请教各位,这是如何实现的,意义何在?

hanweimin
  • 80

clipboard.png

请求一个api,但结果是这样的一种格式,,,这是有什么特殊的写法吗?

还是人为构造成这样的格式??

有什么方便之处??

何不直接返回一个json对象??

还望指教!!

回复
阅读 1.5k
6 个回答

jsonp 了解一下..

这种模式叫做 jsonp, 是使用 json 的一种方式,解决的就是跨域读取数据的问题。

什么是跨域呢?
举个例子,假设我打开网页的地址是 www.1234.com, 然而我想去 www.3456.com 地址去获取数据,当前页面地址与获取数据的域名不一致,就叫做跨域。

为了解决跨域的问题,jsonp 模仿了调用 js 的方式(这种方式不存在跨域),会动态添加<script>标签来调用服务器提供的js脚本,然后得到调用方法名以及其包裹的数据。当然 jsonp 方案并不局限于跨域场合,在同域情况下也可以使用,只不过就没有单纯 json 方式方便了。

如果楼主还感到困惑,建议阅读这篇文章深入了解下

就是人为拼成这样的啊,为了解决跨域的问题。
引入js是不存在跨域问题的,而且js下完之后便自动执行了,所以前台定义好方法,后台将数据作为参数动态生成执行这个方法的js,这就叫jsonp

jQuery 的 ajax 方法设置 dataType: 'jsonp',就会这样

你要先看看相关的调用请求,这个是JSONP调用的返回,JSONP主要用于解决跨域问题,以解决一些基础数据服务集成进各类web在线系统。
它的返回其实包括了两个部分调用函数和作为参数的实际数据(一般是json格式),被以js加载的形式插入到程序执行工程中,使得数据被需要的web程序获取使用。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏