5

false完了し$.ajaxたら戻りたいsuccess

$.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;
    }
});

これは機能しません。回避策はありますか?

4

5 に答える 5

12

あなたの投稿から、を含む関数を呼び出して、その関数$.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');
  }
}
于 2012-05-26T14:50:53.793 に答える
1

たぶん、次のようなことを試すことができます (値 1 と 0 は、使用するものに変更する必要があります)。

success: function(result){
if(result === '1'){
// do something
}
else
   return false;
}
于 2012-05-26T14:44:44.420 に答える
0

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

それは正常に動作しています一度試してみてください

于 2014-07-07T07:11:15.530 に答える
-1

私はこの問題に直面しています。それから私は実際の解決策を見つけました。async を使用: false、ajax 呼び出し内

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;

}

于 2016-10-15T17:44:17.093 に答える