Ext.js4 的Store携带参数加载中文,后台出现乱码解决办法

var store = Ext.create('Ext.data.Store', {
            pageSize: 50,
            autoLoad:true,
            autoDestroy: true,
            proxy: {
                type: 'ajax',
                url: F.url('/yoururl.do'),
                method: 'post',
                reader: {
                    type: 'json',
                    root: 'pageList.list',
                    idProperty: 'demandId',
                    totolProperty: 'pageList.page.total',
                    messageProperty: "msg"
                }
            },
            fields: fields

        });

在Ext.js中进行load()加载数据的时候,如果参数中携带了中文的话,提交到后台会出现参数值乱码的情况(而且乱码乱的我心里发毛,直接看不懂是那个国家的语言),而且提交方法也变成了get..

解决办法如下:

var store = Ext.create('Ext.data.Store', {
            storeId: 'benefitStore',
            pageSize: 50,
            autoLoad:true,
            autoDestroy: true,
            proxy: {
                type: 'ajax',
                url: F.url('/yoururl.do'),
                //method: 'post',
                actionMethods: {
                    read: 'POST'
                },
                reader: {
                    type: 'json',
                    root: 'pageList.list',
                    idProperty: 'demandId',
                    totolProperty: 'pageList.page.total',
                    messageProperty: "msg"
                }
            },
            fields: fields
        });


API 说明:

actionMethods : Object

Mapping of action name to HTTP request method. In the basic AjaxProxy these are set to 'GET' for 'read' actions and 'POST' for 'create', 'update' and 'destroy' actions. The Ext.data.proxy.Rest maps these to the correct RESTful methods.

Defaults to: {create: 'POST', read: 'GET', update: 'POST', destroy: 'POST'}

你可能感兴趣的:(Ext.js4 的Store携带参数加载中文,后台出现乱码解决办法)