我想记住ajax请求的响应,我该怎么做?在上面的代码中,我在控制台中找到了“”…我该怎么做?有什么建议吗?
var jsoncolumnset = '';
Ext.Ajax.request({
scope: this,
url: 'index.php',
params: {
m: 'Columnset',
a: 'readDefault'
},
reader: {
type: 'json',
root: 'rows'
},
success: function(response){
//Passo tutto il json (dovrebbe essere fatto un decode, ma viene gestito da Alfresco)
jsoncolumnset = response.responseText;
this.getStore('Documents').proxy.extraParams.columnset = response.responseText;
},
failure: function(){
//TODO: gestione fallimento chiamata
}
});
console.log(jsoncolumnset);
1条答案
按热度按时间kr98yfug1#
Ajax是异步的,因此当您在Ext.Ajax中启动请求时。请求调用时,时间控制台尚未返回响应。正在执行日志(jsoncolumnset)。
“success”方法将在服务器响应返回浏览器时执行,这可能需要几毫秒或几秒钟的时间——无论哪种方式,Map到“success'事件的代码都将在控制台之后执行。日志执行。
因此,该代码段似乎来自嵌套在某个对象中的代码,因为您已经设置了“this”范围。
您可以添加一些与ajax配合使用的基于事件的逻辑。这里有一个想法: