ExtJS使用Array向后台发送大量数据
2012-11-16 14:08
309 查看
我们在使用Extjs开发系统时,Extjs通过json从后台获取数据,同时保存数据时通过Post方式向服务器发送数据:
[javascript] view plaincopy Ext.Ajax.request({
url : "/application/controller/field/AddHeaderGroup.action",
method : 'POST',
params : {
displayName:nodeText,
queryId : queryId
},
success : function(response, opts) {
newNode.set("id",response.responseText.replace(/'/g,""));
//console.log(newNode.get('id'));
parentNode.appendChild(newNode);
}
});
有时要在编辑一个完整的grid之后点击“保存”时一次性保存整个grid的内容,Extjs可以通过store的getModifiedRecords和getRemovedRecords方法得到变化的和删除内容。这一般都会使用javascript的数组实现:先把一行数据push到数组中,再把一行数据的数组push到另一个数组中,发送到服务器。服务器端通过字符串解析还原数据内容。
这个过程中存在一个不足:数组中的字符串数据中如果有",",服务器端在解析数据时常得不到正确的结果---服务器端只能通过字符串的split(",")函数来分拆字符串。
那要怎么才能解决这个问题呢?
Extjs提供了数组编码:Ext.encode(Array)来解决这个问题。在把数组push到另一个数组中时,使用arr1.push(Ext.encode(arr2)),把编码后的数据push到另一个数组中(可以多层嵌套数组)。然后在服务器端解析每个使用Ext.encode()编码的数组时,都要使用:JSONArray.fromObject(groupList)把字符串还原成一个JSONArray。当然,每一个JSONArray.fromObject要对应一个Ext.encode()。这样就可以相对完美的解决Extjs批量保存数据时字符串中存在“,”造成的问题。
[javascript] view plaincopy Ext.Ajax.request({
url : "/application/controller/field/AddHeaderGroup.action",
method : 'POST',
params : {
displayName:nodeText,
queryId : queryId
},
success : function(response, opts) {
newNode.set("id",response.responseText.replace(/'/g,""));
//console.log(newNode.get('id'));
parentNode.appendChild(newNode);
}
});
有时要在编辑一个完整的grid之后点击“保存”时一次性保存整个grid的内容,Extjs可以通过store的getModifiedRecords和getRemovedRecords方法得到变化的和删除内容。这一般都会使用javascript的数组实现:先把一行数据push到数组中,再把一行数据的数组push到另一个数组中,发送到服务器。服务器端通过字符串解析还原数据内容。
这个过程中存在一个不足:数组中的字符串数据中如果有",",服务器端在解析数据时常得不到正确的结果---服务器端只能通过字符串的split(",")函数来分拆字符串。
那要怎么才能解决这个问题呢?
Extjs提供了数组编码:Ext.encode(Array)来解决这个问题。在把数组push到另一个数组中时,使用arr1.push(Ext.encode(arr2)),把编码后的数据push到另一个数组中(可以多层嵌套数组)。然后在服务器端解析每个使用Ext.encode()编码的数组时,都要使用:JSONArray.fromObject(groupList)把字符串还原成一个JSONArray。当然,每一个JSONArray.fromObject要对应一个Ext.encode()。这样就可以相对完美的解决Extjs批量保存数据时字符串中存在“,”造成的问题。
相关文章推荐
- ExtJs使用Array向后台发送大量数据
- ExtJs使用Array向后台发送大量数据
- extjs 4 chart 使用 后台发送的json数据画图
- extjs tree节点drop事件向后台发送数据
- extjs itemselector 使用详解,前台显示及后台数据交互
- angular使用post发送数据的时候后台无法接收
- 在使用ajax向后台发送json数据,存在格式不正确的问题
- extjs proxy api使用 sync同步时后台接受数据方法
- EXTJS4 Grid Filter 插件的使用 与后台数据解析------Extjs 查询筛选功能的实现
- 后台发送json数据,将List转化成json数据时执行到JSONArray distJson=JSONArray.fromObject(ChapterList)就报错的问题解决方案
- EXTJS AJAX发送数据到JAVA后台 js->jsp->java->html
- 使用ajax接收后台发送过来的json数据方法
- 不使用框架来发送数据到服务器后台
- 使用ajax接收后台发送过来的json数据
- 使用Messenger 从Activity发送数据到service 通过后台计算结果Log输出;
- Tomcat下前端使用vue-resource向后台servlet发送数据中文乱码
- Extjs和Asp.NET后台的数据交互(一) => Newtonsoft.Json 使用简介
- Extjs EditorGridPanel的使用.(数据从后台读出) asp.net
- Vxworks使用UDP发送大数据包
- Extjs使用技巧之,大数据量Grid做数据移除和添加效率优化