当Extjs前台需要进行将store中的数据,转成json字符串,以便传给后台处理
有以下2种方式去进行store转json
var jsonData = Ext.encode(Ext.pluck(store.data.items, 'data'));第2种:
var datar = new Array();
var jsonDataEncode = "";
var records = store.getRange();
for (var i = 0; i < records.length; i++) {
datar.push(records[i].data);
}
jsonDataEncode = Ext.util.JSON.encode(datar);转换成json字符串后,可以利用ajax发起请求,使用方式如下:
Ext.Ajax.request({
url: my.url + '/edu/Test/TestScore',
method: 'POST',
submitEmptyText: false,
jsonData: Ext.encode(Ext.pluck(me.memberGridStore.data.items, 'data')),
success: function(response) {
Ext.Msg.show({
icon: Ext.MessageBox.INFO,
title: '提示信息',
buttons: Ext.MessageBox.OK,
msg: "首次录入成绩成功"
});
if (win.afterSuccess) {
win.afterSuccess();
}
win.close();
},
failure: function(response) {
var result = Ext
.decode(response.responseText);
Ext.Msg.show({
icon: Ext.MessageBox.ERROR,
title: '提示消息',
buttons: Ext.MessageBox.OK,
msg: result.errMsg
});
}
});后台可以使用springMVC进行处理请求,实例如下
@RequestMapping(value = "TestScore", method = RequestMethod.POST)
public @ResponseBody void recordScore(HttpServletRequest request, HttpServletResponse response,
@RequestBody List testMemberList) {
testService.recordScore(testMemberList);
}