我有一个包含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;我甚至试过返回一个数字或字符串但不起作用......
我看不到任何理由?
答案 0 :(得分:1)
由于ajax是异步的,savePjt
实际上是立即返回的。所以你所期待的实际上并没有发生。