javascript
关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)
?這里列出 頁面代碼 和 Action類相關代碼 供參考:
?
頁面代碼(jQuery ajax異步請求獲取數據):
?
//保存決策信息 function saveDecision() { var rowid = checkSelected(); var rowData = jQuery("#list").jqGrid('getRowData', rowid); var processIsRight = rowData["processIsRight"]; if(rowid==-1){ alert("只能選擇一個推薦方案");return; } else if(processIsRight==0){//檢查流程是否存在問題 alert("該流程方案下有任務無崗位默認人,請仔細檢查該流程方案");return; } //判斷是否選擇了決策人:必選 var _decisionMaker = $("#businessModule").find("option:selected").val(); if(_decisionMaker=='' || _decisionMaker == "undefined") { alert("請選擇一個決策人!"); return;} else if(rowid>0){ var url = "saveDecision.action?" + getParams(); //document.write(url); alert(url); /***/ $.ajax({ url : url, type : 'POST', dataType : 'json', success : function(json) { //reference: http://blog.csdn.net/jpr1990/article/details/6931027 alert(json); window.close(); }, error : function() { alert('數據加載失敗,請重試..'); //window.close(); } }); }else{ alert("請選擇一個推薦方案");return; } }
后臺Action類相關代碼(主要是看怎樣返回JSON數據):
?
直接打印System.out.println(jsonMassage);然后return SUCCESS;即可將jsonMassage數據返回到頁面的success方法中:
success : function(json) { //reference: http://blog.csdn.net/jpr1990/article/details/6931027 alert(json); window.close(); }, error : function() { alert('數據加載失敗,請重試..'); //window.close(); }
?為什么Action中的save方法知道返回什么數據到客戶端呢? 這是由Action的配置文件配置決定的:<param name="root">jsonMassage</param>,這里設置了方法save返回的是jsonMessage(屬性/對象)。至于jsonMessage是什么數據類型,這里并不關心,返回是自動會查到他的數據類型,并以相應的數據格式返回到客戶端-頁面。
=========================題外話==============================
這2個Action配置有什么不同呢?大家看出來了嗎?對,返回的參數方式不一樣
那么<param name="includeProperties">result </param>和<param name="root">jsonMassage</param>有什么不一樣嗎?大家查查吧...
轉載于:https://www.cnblogs.com/deve/archive/2012/01/13/2569194.html
總結
以上是生活随笔為你收集整理的关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Flashback Query笔记
- 下一篇: Java嵌套类的使用