【发布时间】:2015-06-10 14:49:05
【问题描述】:
我有一家商店:
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);
}
});
}
然后在控制台中返回如下:
响应:[object Object],[object Object],[object Object],[object 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象],[对象对象],[对象对象],[对象对象],[对象 对象]
op:[object 对象]
成功:真
回复:
res.msj:未定义
我该如何处理?为什么不能解码响应?我想在成功后加载商店,但商店自己加载。如何使用回调成功和失败? store root 是真的,它会加载,但成功或失败后我无法加载它?
【问题讨论】:
-
您从服务器获得的实际 JSON 响应是什么?
-
一个带有 'list' 键的 json 数组。 ["list":[所有数据],"success":true/false,"totalCount":110,"msj":"Done/Error"]
-
尝试通过jsonlint.com运行您的JSON响应
-
在浏览器控制台窗口中查看您的 json 响应?将其复制并粘贴到该站点上的大文本框中,然后它将验证您的 JSON 并让您知道是否有任何错误。如果您的 JSON 无效,则无法正确解码
-
它是有效的,因为网格显示它是真的。仅在回调中不解码。