jquery ajaxSubmit返回不起作用

时间:2013-11-17 20:37:55

标签: jquery ajax function

我有一个包含ajaxSubmit的函数。 我希望它根据结果返回true / false,但它不起作用,这里是代码:

function savePjt(completo){
    completo = completo || 'false';
    $('#pj_form_fields').ajaxSubmit({
        beforeSubmit: function() {
            $('#pjt_submit').val('Loading...');
            $('#pjt_submit').attr('disabled', 'disabled');
        },
        success: function(res) {
            if(res == 'done'){
                if(completo == 'true'){
                    $('#modal_pjt_completo').modal('show');
                    $('#btn_conferma_e_invia').click(function(){
                        $.post(base_url()+'project/completa', {id:$('#id_acquisto').val(), pjt_table:table}, function(resd){
                            return true;
                        });
                    });
                }else{
                    return true;
                }

            }else{
                $('#pjt_submit').removeAttr('disabled');
                alertify.alert(res);
                return false;
            }
        }
    });
}

当我尝试以这种方式调用函数时:

console.log(savePjt('false'));

日志显示undefined而不是true / false;我甚至试过返回一个数字或字符串但不起作用......

我看不到任何理由?

1 个答案:

答案 0 :(得分:1)

由于ajax是异步的,savePjt实际上是立即返回的。所以你所期待的实际上并没有发生。