虚心求教!Extjs vtype 无法正确返回值

Ext.apply(Ext.form.field.VTypes,{
cityNameExist:function(value,field){
var exist = false;
Ext.Ajax.request({
url:'listCity.action',
params:{
start:0,
limit:25,
'entity.name':value.trim()
},
method:'POST',
success:function(response){
var totalCount = Ext.decode(response.responseText).totalCount;
if(totalCount > 0){
ReturnValue(false);
}else{
ReturnValue(true);
}
}
});
function ReturnValue(b){
exist = b;
}
return exist;
},
cityNameExistText:'该城市已经存在'
});
永远都返回的是false,难道是JavaScript 作用域的问题? 求如何返回值!

3个回答

你看下你的ext版本的ajax是否支持async(同步),如果支持的话,那就将该属性设为true,如果不支持,你可以看下这篇帖子
http://xsl2007.iteye.com/blog/748456

1.检查一下response.responseText是否有值
2.检查返回数据是否是json格式

这个是因为Ext.ajax是异步请求,如果没有对ajax请求作限制的话,代码一般会先执行return exist;

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐