+ -
当前位置:首页 → 问答吧 → jquery中ajax函数执行顺序问题

jquery中ajax函数执行顺序问题

时间:2010-10-04

来源:互联网

先上代码

JScript code

function existProduct(obj){
    
    var productname = escape(obj.val());
    $.getJSON("../product/searchProductByName.action",datat,function(data){
        var falg;
        falg = data[0]['existproduct'];
        //falg返回为no 或yes,
        return falg;
    });
    
}

function validateform(){
   //alert(existProduct($("#products_name")));
     if(validateNotnull($("#products_name"))){
      if(existProduct($("#products_name"))){
            $("#productform").submit();
        }else{
            $("#spanproduct").html("业务名称已经存在");
        }
    }else{
        $("#spanproduct").html("业务名称不能为空");
    }  
}



在这个existProduct(obj)这个函数中,我调用jquery中的getJSON函数,返回数据库中查找的结果,这个用firebug查过应该没有问题,离谱的就是在执行的时候,代码先执行的return falg,然后再执行getJSON,请高手指点指点

作者: kingmaple   发布时间: 2010-10-04

JScript code
 $.getJSON("../product/searchProductByName.action",datat,function(data){
        var falg;
        falg = data[0]['existproduct'];
        //falg返回为no 或yes,
        return falg;
    });
jquery的方法返回值都是jquery对象,你这个返回值不可能是yes 或是no的
你可以将你的验证方法写在getJSON的回调函数中,或是定义一个全局变量接受且用同步的方式
如果用异步和全局变量的方式,有可能得不到值。

作者: IBM_hoojo   发布时间: 2010-10-04