一、在load提交时对字符串进行decode处理。
- {name : encodeURIComponent(value)}
然后在后端进行反编码
- java.net.URLDecoder.decode(name, "utf-8");
根据这一做法确实可以解决这一问题。但是综合比较后个人认认为这不是一个很好的解决方法。这一做法就是每一个参数都需要重复上述步骤。比较烦。在对from提交与store提交对比后发现load提交默认为“get”.参考相应说明后。在数据源定义中更改method为"post".即可解决store带中文提交乱码问题。
更改后的代码:
- Ext.define('W.gzgl.stores.common.MenuStore', {
- extend : 'Ext.data.Store',
- pageSize : 20,
- requires : ['W.gzgl.models.common.MenuModel'],
- model : 'W.gzgl.models.common.MenuModel',
- autoDestroy: true,
- autoLoad : true,
- proxy : {
- type : 'ajax',
- url : 'manager/menuList.hs',
- actionMethods: {
- read: 'POST'
- },
- reader : {
- type : 'json',
- root : 'rows',
- idProperty : 'name'
- }
- }
- });