ajax请求后的ExtJS 3.4回调函数

ajax请求后的ExtJS 3.4回调函数,ajax,extjs,store,Ajax,Extjs,Store,我有一家商店: var store = new Ext.data.JsonStore({ root: 'list', url: '../myProject/getData.ajax', baseParams:{ date:'', }, fields: rec, totalProperty:'totalCount', pruneModifiedRecords:tr

我有一家商店:

var store = new Ext.data.JsonStore({
        root: 'list',
        url: '../myProject/getData.ajax',
        baseParams:{
            date:'',
        },
        fields: rec,
        totalProperty:'totalCount',
        pruneModifiedRecords:true,
        autoLoad : false,   
        listeners:{
            load:function(){
                globalMask.hide();
            }
        } 
    });
按下按钮后,我加载存储功能:

function storeLoad(){
    store.baseParams =  {
            date:date.getRawValue(),
        },
    store.load({
        params  :{start:0, limit:100},
        callback: function (response,options,success) {
                    if (success){
                        var res =  Ext.util.JSON.decode(response.responseText); 
                        if(res.msj != null){
                        Ext.MessageBox.alert("Sonuç",res.msj);

                        }
                    } else{
                        Ext.MessageBox.alert("Error","Error message : "+response.statusText+". Try again later!!! ");
                    }
                    console.log("response:"+response);
                    console.log("op:"+options);
                    console.log("success:"+success);
                    console.log("res:"+res);
                    console.log("res.mesaj:"+res.msj);
            }

    });
}
在此之后,控制台中的返回如下:

响应:[对象对象],[对象对象对象],[对象对象对象],[对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 对象,对象对象,对象对象,对象对象对象,对象对象 [对象]

op:[对象]

成功:真的

res:

res.msj:未定义

我该怎么办?为什么不能解码响应?我想在成功后加载存储,但存储会自行加载。如何使用回调成功和失败?
Store root为true,它加载,但在成功或失败后无法加载?

回调函数中的响应参数不是来自服务器的json响应。这是一个已加载记录的数组,在store add Ext.data.DataReader.messageProperty=msj的读取器中查看,在store的侦听器加载中查看第一个示例并添加警报。

不要使用带有字符串和对象的console.log。尝试console.logresponse而不是console.logresponse:+response

在控制台日志中尝试此操作,您将了解:

执行:

var test = {a:1, b:2, c:3}; console.log(test); console.log("response" + test); 执行:

var test = {a:1, b:2, c:3}; console.log(test); console.log("response" + test); 输出:

Object {a: 1, b: 2, c: 3} response[object Object] 执行:

var test = {a:1, b:2, c:3}; console.log(test); console.log("response" + test); 输出:

Object {a: 1, b: 2, c: 3} response[object Object]
如果这样做,您将能够导航对象。可能您的代码已经正确了。

您从服务器得到的实际JSON响应是什么?一个带有“list”键的JSON数组。[list:[所有数据],success:true/false,totalCount:110,msj:Done/Error]尝试通过在浏览器控制台窗口中查看JSON响应来运行JSON响应?复制并粘贴到该站点上的大文本框中,它将验证您的JSON,并告诉您是否有任何错误。如果JSON无效,则无法正确解码。它是有效的,因为网格显示为true。只有在回调中才是不解码的。如果不是json响应,如何正确加载网格行?我确信响应是一个json数组。响应为:[列表:[所有数据],成功:真/假,总数:110,msj:Done/Error]读取器解码JSON并在存储中生成数据,回调函数接收此数据。你想在回调函数中做什么。我写了上面的代码。我想在回调接收到数据后加载存储,并向用户发出一些警报,消息是我无法解码的。