1. 程式人生 > >Ajax請求到action,action返回整個頁面的方式

Ajax請求到action,action返回整個頁面的方式

以前用Ajax都是返回物件資料,然後迴圈遍歷物件資料去拼接成某個需要重新整理模組的內容。當資料量大的時候,或者頁面節點比較複雜多的時候,還真麻煩,而且需求改變的時候,要去改變拼接的內容,實在看得眼花繚亂,老實說,Ajax,jQuery那些技術並不精通,等有時間再全部過一遍。

實現方式

 $(parent.document).on("click",".upStaff",function(){ 
                    $(".modal-dialog").html("");
                    $.post("getStaffById",{"staff.id"
:staffId},function(result){ $(".modal-dialog").html(result); }); $("#gridSystemModal").modal("show"); }); 這是公司專案某個程式碼片段,以下對程式碼進行說明: $(parent.document)--選擇父窗體的元素 .on(".click"~~~~)--jQuery1.8之後取消了live和bind繫結方式(好像是),反正現在用.on這種方式就對了 $(".modal-dialog"
).html("");--把這個div裡面的內容設定為空 $.post的回撥函式的result,alert警告框是整個頁面,因為action中配置了註解: @Action(value="getStaffById",results={ @Result(name="json",location="/admin/system/department/updateStaff.jsp") }) 也就是說result接收到的是updateStaff.jsp整個頁面內容。 $(".modal-dialog"
).html(result);--把內容放到這個“.modal-dialog” div盒子中。 $("#gridSystemModal").modal("show");---把這個“.modal-dialog” div 顯示出來,這是個bootstrap前端框架的api,你只需知道這個div本來是隱藏的,現在把它設定為顯示就行了。

總結
這樣就比較方便了,比如我們要修改員工資訊,那麼我們在action中返回updateStaff.jsp中,可以使用jstl + el表示式配合使用去加載出所需要的資訊,因為是Ajax請求,最終updateStaff.jsp還是返回到當前請求的Ajax中,這就是HTML格式返回吧。