请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

jsonp 库中 的 option的 param参数 问题

jsonp 库中 的 option的 param参数 不应该是  jsonp2 吗,为什么是 jsonpCallback。返回来的数据 是 jsonp2({}) 形式的啊。

script 标签请求数据的时候 约定 好 callback 名字,数据请求成功后,便可直接调用 前端的 相应 回调函数。我哪里 理解错了么。。。

正在回答

1回答

这个 param 是用来和后端约定 jsonp calback 这个字段的 key 是什么。一般来说,都是 callback=xxx,然后后端就可以解析这个 callback 字段,拿到回到函数的名称 xxx,但是 qq 音乐接口约定的是 jsonpCallback=xxx,解析的是 jsonpCallback 这个字段。我们给 jsonp 库 option 的 param 赋值为jsonpCallback,那么请求的 url 就会变成 jsonpCallback=xxx 

0 回复 有任何疑惑可以回复我~
  • 提问者 aznmoe #1
    嗯,懂了,原来以为param传的是value字段。但又有新的疑问了。
    我原来以为 callback=xxx 的这个 xxx 是用来判定来调用前端的哪个回调函数。
    但看起来并不是。我说下我的释疑:<script src="http://www.wer.com/jsonp/flightResult.aspx?code=CA1998&callback=flightHandler"></script>中
    http://www.wer.com/jsonp/flightResult.aspx?code=CA1998 这些参数便决定了后台返回来的是哪些数据。
    而 callback=flightHandler 这个参数,可以让后台动态的返回 将 'data' 名字变为 flightHandler 这个名字 如 flightHandler({"code": "CA1998", "price": 1780, "tickets": 5 }); 如果不是这样,我并不能理解 传输 callback=flightHandler 参数的意义是什么。
    回复 有任何疑惑可以回复我~ 2017-06-24 21:25:24
  • 提问者 aznmoe #2
    上面的内容输入有误,重新写一下。
    嗯,懂了,原来以为param传的是value字段。但又有新的疑问了。
    我说下我的释疑:<script src="http://www.wer.com/jsonp/flightResult.aspx?code=CA1998&callback=flightHandler"></script>中
    http://www.wer.com/jsonp/flightResult.aspx?code=CA1998 这些参数便决定了后台返回来的是哪些数据。
    而 callback=flightHandler 这个参数,可以让后台动态的返回 将 'data' 名字变为 flightHandler 这个名字 如 flightHandler({"code": "CA1998", "price": 1780, "tickets": 5 }); 如果不是这样,我并不能理解 传输 callback=flightHandler 参数的意义是什么。
    回复 有任何疑惑可以回复我~ 2017-06-24 21:27:33
  • ustbhuangyi 回复 提问者 aznmoe #3
    我感觉你还是没理解,param 是为了把后端识别的 jsonp 字段从默认的callback = xxx 改成 jsonpCallback = xxx。后端读的是请求中有没有 jsonpCallback 这个参数而不是取读 callback 这个参数。
    回复 有任何疑惑可以回复我~ 2017-06-25 13:54:33
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信