首页 > 请教一下JSONP中的回调函数是怎么回事?

请教一下JSONP中的回调函数是怎么回事?

一段简单的JSONP的代码



<script> function show(json){ //函数show alert(json.s); } </script> //wd=web,搜索关键词为web;cb=show,回调函数为show <script src="https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=web&cb=show"> </script> /*src的请求结果为: show({q:"web",p:false,s:["webqq","webqqµÇ½","web of science","web΢ÐÅ","webstorm","webservice","΢² ©","websocket","weblogic","webex"]}); */

W3school对回调函数的定义:
http://www.w3school.com.cn/ajax/ajax_xmlhttprequest_onreadystatechange...

callback 函数是一种以参数形式传递给另一个函数的函数。

结合w3school对回调函数的定义,函数show应该是传递给服务端某个处理程序中的函数的参数,并且由服务端的函数来调用show。
可是JSONP好像是通过src请求资源,然后返回一个函数调用,比如show({json数据})。
我也不知道该怎么表达了,我想不明白JSONP的回调函数是怎么回事,如果您知道,请您不吝赐教,谢谢!


回调函数没多大作用,说是作用,就是后端接收函数名,然后再返回。

如:Jquery的ajaxjsonp的函数名是可变的。

http://www.zhile.name/14.html


不不不,回调函数不是在服务器端被调用的

客户端把回调函数的名字传送给服务端,
然后服务端生成一段js代码且代码中包含着对回调函数的调用,
然后服务端把这段代码返回给客户端,
然后客户端执行这段代码的过程中调用了回调函数,
然后你就可以在回调函数里面处理数据了
。。。


jsonp 只是script跨域特性利用
http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery....

【热门文章】
【热门文章】