我使用Ajax时遇到问题。
function GetGrantAmazonItemCnt(){
var cnt;
Ext.Ajax.request({
url : '',
params : {},
success :function(response){
cnt = response.responseText;
}
});
return cnt;
}
问题是,在获得ajax响应之前,它返回cnt。 所以它总是返回NULL。
有没有办法确定正确的回复价值?
谢谢!
答案 0 :(得分:6)
因为AJAX请求是异步的,所以cnt变量将在请求返回之前返回并调用成功处理程序。
我建议您重构代码以解决此问题。
执行此操作的一种方法是从AJAX请求的成功处理程序中调用调用GetGrantAmazonItemCnt()的函数,这样就可以将值传递到需要的位置:
function GetGrantAmazonItemCnt(){
var cnt;
Ext.Ajax.request({
url : '',
params : {},
success :function(response){
cnt = response.responseText;
FunctionThatCalledMe(cnt);
}
});
}