1
用戶在jqGrid中編輯數據後,我想將格式化的JSON字符串返回給服務器以供使用。 下面是一個什麼樣的服務器預計將收到的樣本:將jqGrid的編輯數據序列化爲JSON
{
"aptitudeArrayList":[
{
"skill":"VITS",
"value":2,
"id":2,
"color":"RED"
},
{
"skill":"GBFM",
"value":6,
"id":1,
"color":"GREEN"
},
{
"skill":"JSON",
"value":4,
"id":3,
"color":"RED"
},
{
"skill":"CASTLEROCK",
"value":7,
"id":4,
"color":"RED"
}
],
"cell":12412,
"line":"FIRST_LINE",
"name":"Barop",
"id":1,
"region":"The end",
"available":true
}
這裏是我的ColModel的一個片段:
...
{
name:'cell',
label:'Cell #',
width:80,
align:'center',
editable:true,
editrules:{required:true, integer:true},
editoptions:{size:10, maxlength:10}
},
{
name:'available',
label:'Available',
formatter:'checkbox',
width:46,
align:'center',
editable:true,
edittype:'checkbox',
editoptions:{value:"true:false"}
},
{
name:"vits.value",
label:'VITS',
width:300,
align:'center',
editable:true,
jsonmap:"aptitudeArrayList.0.value"
},
{
name:"vits.color",
editable:true,
jsonmap:"aptitudeArrayList.0.color"
}
...
以下是編輯選項:(我註釋掉POSTDATA其不需要截至目前)
var editOptions = {
onclickSubmit:function (params, postdata) {
params.url = URL + '/'; //+ postdata.id;
}
};
編輯被調用後,將數據發送給這個函數:
$.extend($.jgrid.edit, {
closeAfterEdit:true,
closeAfterAdd:true,
ajaxEditOptions:{ contentType:"application/json" },
mtype:'PUT',
serializeEditData:function (data) {
delete data.oper;
return JSON.stringify(data);
}
});
的不足以上代碼返回該JSON:
{
"id":"1",
"name":"Barop",
"region":"The end",
"line":"FIRST_LINE",
"cell":"12412",
"available":"true",
"vits.value":"2",
"vits.color":"RED"
...
}
當我調試器附加我發現data
包含:dataObject { id="1", name="Barop", region="The end", ... vits.value="2", vits.color="RED"}
現在看來,這是越來越從jqGrid的的name
屬性的鑰匙。
我該如何將我的數據序列化爲服務器需要的格式?
這正是我需要的,謝謝!閱讀其他問題的答案對我也有很大的幫助。 – Jaym 2011-12-22 15:21:26
@Jaym:不客氣!我很高興地看到,我的其他答案也可以幫助你。 – Oleg 2011-12-22 15:23:28