日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

关于jQuery获取Action返回的JSON数据 项目真实案例 记录(Struts2)

發布時間:2025/4/14 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于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數據):

/** * 保存決策信息 * 0 - 未啟動. 1 - 暫停. 2- 運行中. 3 - 失敗. 4 - 終止. 5 - 完成. 6 - 已刪除. */ public String save() { if (assistDecision != null) { try { // 生成實際決策時間 Timestamp decision_date = new Timestamp(System.currentTimeMillis());// 不能大于強制決策時間,還沒有做判斷 assistDecision.setDecisionMaker(assistDecision.getDecisionMaker()); assistDecision.setDecisionTime(decision_date); //判斷是否自動啟動流程 if(this.getIsStartProcess().equals("true")){ assistDecision.setSolutionState(2);// 設置SolutionState 為:2-運行中 this.decisionExecutorService.saveAssistDecision(assistDecision,true,processId,emgencyInfoProcessId); }else{ assistDecision.setSolutionState(0);// 設置SolutionState 為:0-未啟動 this.decisionExecutorService.saveAssistDecision(assistDecision,false,processId,emgencyInfoProcessId); } jsonMassage = "決策成功,數據已保存!"; } catch (Exception e) { e.printStackTrace(); jsonMassage = "該流程方案下有任務無崗位默認人,請仔細檢查該流程方案"; System.out.println(jsonMassage); return SUCCESS; } } return SUCCESS; }

?

直接打印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是什么數據類型,這里并不關心,返回是自動會查到他的數據類型,并以相應的數據格式返回到客戶端-頁面。

<action name="saveEvent" class="eventAction" method="saveEvent"> <result name="success" type="json"> <param name="includeProperties">result </param> </result> </action> <action name="saveDecision" class="decisionExecutorAction" method="save"> <result name="success" type="json"> <param name="root">jsonMassage</param> </result> </action>


=========================題外話==============================

<action name="saveEvent" class="eventAction" method="saveEvent"> <result name="success" type="json"> <param name="includeProperties">result </param> </result> </action> <action name="saveDecision" class="decisionExecutorAction" method="save"> <result name="success" type="json"> <param name="root">jsonMassage</param> </result> </action>

這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)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。