$.getJSON()方法的 callback说明
$.getJSON()方法跨域 去取得服务器的json对象的时候,url的后缀最后带一个"callback=?"的参数作为成功的回调函数;如:
var url = "${BIPJS}/intf/accountsOfRefuseEmail.jsp?act=add&siteId=${LANG.siteId}&accountId=${loginId}&callback=?"; $.getJSON(url, {} , function(data) { var code = data.code; if(code == 0){ $('#floatOne').myFadeIn(); } });
此时返回的data是一个json对象;相应地,服务器返回字符串应该要这种样式:
String callback = T.stringValue(getRequestParams(request,"callback"),""); JSONObject jo = new JSONObject(); // put key/value in jo out.print(callback + "(" + jo + ")");
原理:Jquery在解析请求callback=?的时候,会自动生成一个callback=jsonp***的字符串,这个字符串jsonp***在成功回调的时候作为一个方法,被Jquey自动执行,参数是一个json格式的字符串(这里是data)。相应地;服务器返回的字符串要这种形式:jsonp***(JSONObject)。
如:刚上面的url被Jquey解析成:
- Request URL:http://localhost.pcauto.com.cn:12385/intf/accountsOfRefuseEmail.jsp?act=add&siteId=2&accountId=388&callback=jsonp1381976698163&_=1381976708919
服务器返回的字符串形式:
jsonp1381976698163({"code":0,"msg":"增加用户成功"})
Jquery的回调方法jsonp1381976698163(jsonStr)就是要把字符串jsonStr转换成josn对象,这里就是转换成data这个json对象。
相关推荐
newthon 2019-12-07
82473264 2011-09-26
weibingbingnet 2020-06-14
前端开发Kingcean 2020-06-11
gloria0 2020-06-09
81463166 2020-06-04
sweetgirl0 2020-05-30
yangyutong00 2020-05-30
wumxiaozhu 2020-05-26
Kakoola 2020-05-17
donghongbz 2020-05-15
chenhaimeimeng 2020-04-13
且听真言 2020-05-11
somebodyoneday 2020-04-22
hqulyc 2020-03-05
tthappyer 2020-01-26
zfszhangyuan 2020-01-14
angqiuli 2020-01-12
定格 2020-01-07