Extjs4 store load 有中文字符提交后台乱码解决方法

一、在load提交时对字符串进行decode处理。

  1. {name : encodeURIComponent(value)}

然后在后端进行反编码

  1. java.net.URLDecoder.decode(name, "utf-8");

根据这一做法确实可以解决这一问题。但是综合比较后个人认认为这不是一个很好的解决方法。这一做法就是每一个参数都需要重复上述步骤。比较烦。在对from提交与store提交对比后发现load提交默认为“get”.参考相应说明后。在数据源定义中更改method为"post".即可解决store带中文提交乱码问题。

更改后的代码:

  1. Ext.define('W.gzgl.stores.common.MenuStore', {
  2. extend    : 'Ext.data.Store',
  3. pageSize  : 20,
  4. requires  : ['W.gzgl.models.common.MenuModel'],
  5. model     : 'W.gzgl.models.common.MenuModel',
  6. autoDestroy: true,
  7. autoLoad    : true,
  8. proxy : {
  9. type    : 'ajax',
  10. url     : 'manager/menuList.hs',
  11. actionMethods: {
  12. read: 'POST'
  13. },
  14. reader  : {
  15. type        : 'json',
  16. root        : 'rows',
  17. idProperty  : 'name'
  18. }
  19. }
  20. });
上一篇:小刻也能看懂的Unraid系统使用手册:基础篇


下一篇:day9 python学习 文件的操作 读 写 seek