1.后臺(tái)返回一個(gè)頁面
js代碼
/**(1)用$("#content-wrapper").html(data);顯示頁面*/$.ajax({ async : false, cache : false, type : 'POST', url : 'area/prepareCreate', error : function() { alert('smx失敗 '); }, success : function(data) { $("#content-wrapper").html(data); }});
java代碼
/* * (1)不能有注解@RespoonseBody * (2)返回值類型是String,代表頁面所在的文件夾 * (3)如果返回"error",執(zhí)行ajax的error方法 */@RequestMapping(value = "area/prepareCreate", method = RequestMethod.POST)public String editAreaWithFile() { return "area/create; // return "error";}
2. 后臺(tái)返回一個(gè)基本類型String,Long等
js代碼
$.ajax({ async : false, cache : false, type : 'POST', url : 'app/area/delete', dataType : "json", error : function() { alert('smx失敗 '); }, success : function(data) { /**重點(diǎn):前臺(tái)接收到返回值,直接處理就行*/ alert(data); }});
java代碼
/**(1)用@ResponseBody注解(2)可以接收各種參數(shù),url,data(名稱匹配或@RequestBody)(3)返回值類型就是基本類型*/@ResponseBody@RequestMapping(value = "area/delete", method = RequestMethod.POST)public long editArea() { //處理參數(shù) return 3; }
3. 后臺(tái)返回一個(gè)實(shí)體類
第一步:定義一個(gè)實(shí)體類
/** * flag為1 :操作失敗 * msg:失敗原因; * flag為0: 操作成功*/public class AjaxResponseMsg { private int flag; private String msg; }
第二步:js代碼
$.ajax({ async : false, cache : false, type : 'POST', url : 'app/area/delete', error : function() { alert('smx失敗 '); }, success : function(data) { var jsonData = JSON.parse(data); if (jsonData .flag == 0) {//請(qǐng)求成功 alert("后臺(tái)操作成果"); } else { alert(jsonData .msg); } }});
第三步:java代碼
/**(1)添加注解@ResponseBody (2)可以接收參數(shù) (3)返回類型就是實(shí)體類*/ @ResponseBody @RequestMapping(value = "area/delete", method = RequestMethod.POST) public AjaxResponseMsg editAreaWithFile() { // 做操作 boolean result = true AjaxResponseMsg ajaxMsg = new AjaxResponseMsg(); if (result == true) ajaxMsg.setFlag(0); else { ajaxMsg.setFlag(1); ajaxMsg.setMsg("不能給一個(gè)傳感器添加重復(fù)設(shè)備"); } return ajaxMsg; // 返回給前臺(tái)一個(gè)實(shí)體類,包括是否操作成功,及失敗原因 }
4.后臺(tái)返回一個(gè)實(shí)體類list(實(shí)體類的字段都是基本類型)
實(shí)體類
public class Section{ private Long id; //id private String name; //名稱 }
前臺(tái)
$.ajax({ async : false, cache : false, type : 'POST', url : "section/getSections", error : function() { alert("失敗"); }, success : function(data) { var jsonData = JSON.parse(data); //jsonData是該下路下的所有區(qū)間(json格式) for (var i = 0; i < jsonData.length; i++) { alert(jsonData[i].id); alert(jsonData[i].name); } }})
后臺(tái)
@ResponseBody@RequestMapping("/section/getSections")@RequiresPermissions("section:view")public List<Section> getSections() { List<Section> sections = new List<Section>(); return sections;}
5.后臺(tái)返回一個(gè)實(shí)體類list(實(shí)體類的字段包括List類型)
第一步:定義實(shí)體類ChartSeries
public class ChartSeries { private String name; //曲線名稱 private List<Float> data; //曲線的縱坐標(biāo) private List<Date> occurTime; //曲線的橫坐標(biāo) //添加get set方法 }
第二步:js代碼
$.ajax({ url : "/dataRecord/chart" , //獲取數(shù)據(jù)列 type : 'GET', data : { }, success : function(data) { formatStringToJson(data);//對(duì)數(shù)據(jù)進(jìn)行處理 } }); function formatStringToJson(data) { jsonData = JSON.parse(data); //把后臺(tái)傳來的數(shù)據(jù)轉(zhuǎn)來JSON格式 //jsonData是二維數(shù)組,因?yàn)閷?shí)體類ChartSeries的字段data也是個(gè)list for (x in jsonData) { //遍歷JSON格式的數(shù)組取元素, x代表下標(biāo) for (y in jsonData[x].data) { alert(jsonData[x].occurTime[y]) ;//依次獲取 alert(jsonData[x].data[y]); } } }
第三步:java代碼
@ResponseBody@RequiresPermissions("dataRecord:view")@RequestMapping(value = "/dataRecord/chart}", method = RequestMethod.GET)public List<ChartSeries> getChart(){ List<ChartSeries> list = new List<ChartSeries>(); //給list賦值 return list; // list}
后臺(tái)傳來的數(shù)據(jù)格式如下
以上這篇jQuery AJAX 方法success()后臺(tái)傳來的4種數(shù)據(jù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注