【服务器端】
一、SpringMVC:
@RequestMapping(value = "/waitReceiveCouponCount")
@ResponseBody
public String waitReceiveCouponCount(String sn, String callback) {
int count = couponService.findWaitReceiveList(memberService.findBySn(sn)).size();
return callback + "("+count+")";
}【客户端】
第一种:
$.getJSON("http://www.xx.com/xx/member/waitReceiveCouponCount.jhtml?sn=123456&callback=?", function(data) {
alert(data);
})第二种:$.ajax({
type : "get",
url : "http://www.xx.com/xx/member/waitReceiveCouponCount.jhtml?sn=123456",
dataType : "jsonp",
jsonp: "callback",//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(默认为:callback)
success : function(json){
alert(json);
}
});--------------------------------------------------------------已过时------------------------------------------------------------
二.Struts2 实现方式
<action name="*" class="accessAction" method="{1}">
<result name="queryMenu" type="json">
<param name="root">accessVO.menuList</param>
<param name="callbackParameter">callback</param>
</result>
</action>
三.Servlet方式
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String jsonData = getDataAsJson(req.getParameter("symbol"));
String output = req.getParameter("callback") + "(" + jsonData + ");";
resp.setContentType("text/javascript");
PrintWriter out = resp.getWriter();
out.println(output);
// prints: jsonp1232617941775({"symbol" : "IBM", "price" : "91.42"});
}
【客户端】
<script>
//1.$.ajax({});
$.ajax({
url: "http://ming.skymis.com/access/queryMenu",
dataType: 'jsonp',
jsonp:'callback', //测试时,dataType必须加上,jsonp可加可不加。不过最好还是加上
success: function(data) {
alert(data[0].name);
}
});
//2.$.getJSON({});
jQuery.getJSON("http://ming.skymis.com/access/queryMenu?callback=?", function(data) {
alert(data[0].name);
});
</script>

5767

被折叠的 条评论
为什么被折叠?



