jsonp传输会解决跨域的问题
$.ajax({ async: false, /* url: "http://127.0.0.1:8080/2015020601/background/mealshow/findNoWinner.html", */ url: "http://www.upalapp.com/2015020601/background/mealshow/findNoWinner.html", type: "post", dataType: 'jsonp', //jsonp的值自定义,如果使用jsoncallback,那么服务器端,要返回一个jsoncallback的值对应的对象. jsonp: 'jsoncallback', //要传递的参数,没有传参时,也一定要写上 data: null, timeout: 5000, //返回Json类型 contentType: "application/json;utf-8", //服务器段返回的对象包含name,data属性. success : function(data) { for(var i=0; i<data.length;i++){ var winner = data[i]; alert("wxName: " + winner.wxName + "awardsType: " + winner.awardsType + "uuid: "+ winner.uuid); } }, error: function (jqXHR, textStatus, errorThrown) { alert(textStatus); } });
后台
res.setContentType("text/html;charset=UTF-8"); String callbackFunName =req.getParameter("callback");//得到js函数名称 String jsonData = ListToJson.listToJson(list); //String jsonData = "{"state":"empty"}"; res.getWriter().write(callbackFunName + "("+jsonData+")"); //返回jsonp数据
普通的ajax的json方式传输
$.ajax({ type : 'GET', contentType : 'application/json', /* url : "http://127.0.0.1:8080/2015020601/background/mealshow/startGame", */ url : "http://www.upalapp.com/2015020601/background/mealshow/findNoWinner.html", processData : false, awardsType: 1, dataType : 'json', success : function(data) { for(var i=0; i<data.length;i++){ var winner = data[i]; alert("wxName: " + winner.wxName + "awardsType: " + winner.awardsType + "uuid: "+ winner.uuid); } }, error : function() { alert('出错了!'); } });
后台
可以直接使用SpringMVC的@ResponseBody注解