对JSONP服务器要接受参数jsoncallback,符号会被Query自动替换成其他的回调方法的名称,具体过程和原理在下文一一的介绍说明,最主要的问题是jsoncallback=?起什么作用了。#t#
替换后,会把方法名称传给服务器。我们在服务器端要做什么工作呢?服务器要接受参数jsoncallback,然后把jsoncallback的值作为JSON数据方法名称返回,比如服务器是JSP,我们会这样做:
- String jsoncallback=request.getParameter("jsoncallback");out.pring(jsoncallback+"(
- {\"account\":\"XX\",\"passed\":\"true\",\"error\":\"null\"})");
Jquery 取得的数据可能如下:
- JQUET0988788({"account":"XX","passed":"true","error":"null"})
总结,用JSONP要做两件事:
1/请求地址加参数:jsoncallback=?
2/服务器段把jsoncallback的值作为方法名传回来,如JQUET098788(...)
[jCal screenshot - v0.3.3 - 2day cal showing month selector JSONP]