Ajax成功:{return false;}

我想在success完成时从$.ajax返回false

 $.ajax({ url: '' + $website_url + 'queries/voorraad_berekenen.php', type: 'post', data: { aantal: $(this).parent('form').children('.quantity').val(), item_number_1: $(this).parent('form').children('.item_number_1').val() }, success: function(result) { return false; } }); 

这不起作用。 有工作吗?

从你的post我想你调用一个包含$.ajax()的函数并尝试将return false给该函数。 但你不能这样做,因为AJAX是异步的。

最好从ajax成功函数调用一个函数,如下所示:

 $.ajax({ url: '' + $website_url + 'queries/voorraad_berekenen.php', type: 'post', data: { aantal: $(this).parent('form').children('.quantity').val(), item_number_1: $(this).parent('form').children('.item_number_1').val() }, success: function(result) { var returned = true; if(some_condition_not_satisfied) { returned = false; } else { } // call a function calledFromAjaxSuccess(returned); } }); function calledFromAjaxSuccess(result) { if(result) { alert('TRUE'); } else { alert('FALSE'); } } 

也许你可以试试这样的东西(值1和0应该改为你使用的那些):

 success: function(result){ if(result === '1'){ // do something } else return false; } 

只是使用asunc false它可以工作正常我只是这样实现

就试一试吧

 $.ajax({ url: '' + $website_url + 'queries/voorraad_berekenen.php', type: 'post', data: { aantal: $(this).parent('form').children('.quantity').val(), item_number_1: $(this).parent('form').children('.item_number_1').val() }, async: false, //=>>>>>>>>>>> here >>>>>>>>>>> success: function(result) { return false; } }); 

它工作正常尝试一次

我面对这个问题。 然后我找到了实际的解决方案。 在ajax调用中使用async:false

 function thisisavailavailusername(uname){ var dataString = 'username='+ uname.value; var trueorfalse = false; $.ajax({ type: "post", url: "/BloodBook/checkavailableusername", data: dataString, cache: false, async : false, //user this then everything ok success: function(html){ if(html=="true"){ $('#validusername').html('Available'); trueorfalse = true; }else{ $('#validusername').html('Not Available'); trueorfalse = false; } }, error: function() { alert("Something Wrong..."); } }); return trueorfalse; 

}