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并在存储中生成数据,回调函数接收此数据。你想在回调函数中做什么。我写了上面的代码。我想在回调接收到数据后加载存储,并向用户发出一些警报,消息是我无法解码的。