mgw2314
mgw2314
2012-04-23 10:44

虚心求教!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条回答

  • iteye_2089 iteye_2089 9年前

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

    点赞 评论 复制链接分享
  • iteye_2089 iteye_2089 9年前

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

    点赞 评论 复制链接分享
  • iteye_2089 iteye_2089 9年前

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

    点赞 评论 复制链接分享

相关推荐