通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update

但今次我们需要将整个对象群完">
首頁 > web前端 > js教程 > 以JSON形式將JS中Array物件陣列傳至後台的方法_javascript技巧

以JSON形式將JS中Array物件陣列傳至後台的方法_javascript技巧

WBOY
發布: 2016-05-16 17:05:18
原創
1069 人瀏覽過

業務是需要將前台jQuery easyUI DataGrid清單中所選的若干行的資料傳到後台進行update操作
以JSON形式將JS中Array物件陣列傳至後台的方法_javascript技巧 

通常情況下我們會取得所選行物件的ID,透過循環及簡單封裝拼湊成一個長String傳送過去,並在Service層解釋再透過findByID取得實例並update

但今次我們需要將整個物件群完整的傳送至後台

其架構如下
以JSON形式將JS中Array物件陣列傳至後台的方法_javascript技巧 

選用谷歌的GSON插件及json2.js搭配使用

前台程式碼如下,簡潔起見已移除部分簡單驗證程式碼:

前台程式碼如下,簡潔起見已移除部分簡單驗證程式碼: 複製程式碼
程式碼如下:


var rows = $('#dg1').datagrid('getSelections');
$.ajax({
cache : false,
type : "POST",
url : _basePath '/sectionGroup/pair',
data : {rows : JSON.stringify(rows.stringify(rows.stringify(rows. ), group_id : group_id, group_name : group_name},
success : function(data) {
if(data.success == true){
$.messager.confirm(')配置成功','是否設定成功','是否刷新清單? reload');
$('#dg2').datagrid('reload');
}
});
}else{
$.messager.show({
title:'提示',msg:'配置失敗',
showType:'fade',style:{right:'',bottom:''}
});
}
}
});

此頁面中需要引入json2.js

後台Controller中接收如下:

複製程式碼 程式碼如下:
@RequestMapping(value = "/pair")
@ResponseBody
public ResponseData pairString( , String group_id, HttpServletRequest request) {
User user = (User) SecurityContextUtil.getCurrentUser();
if (user == null) {
user = (User) request.getSession().getAttribute(). Constants.USER_OS);
}
Gson gson = new Gson();
List list = gson.fromJson(rows, new TypeToken>() {}.getType( ));
for (SectionGroup sectionGroup : list) {
for (SectionGroup sectionGroup : list) {
sectionGroup.setRegion(user.getRegion_id());
sectionGroup.setCompany_id(user.getOrg_id()); );
sectionGroup.setGroup_name(group_name);
service.insertEntity(sectionGroup);
}
return ResponseData.SUCCESS_NO_DATA;
}
TypeToken為GSON包中引入類別
入參rows應為String型

經過Gson轉換後List依舊為普通接口,內部裝載前台完整的Object對象
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板