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;
}