在 jquery 中使用 ajax 的回调


using callback in jquery with ajax

我真的在这个问题上崩溃了。我阅读了很多关于回调的信息,并且知道 ajax 是异步的,但我一生都找不到如何获取一个值,我可以稍后在 if 语句中使用。

$.ajax({
    url: 'http://'+document.domain+'/klanten/updateaddress.php',
    type: 'post',
    data: poststring,
    success: function(result) { 
    console.log("result = "+result);    
    callbacks.add(result);
    }
});
//this doesnt work because result is generated asynchonous. 
if(result == success){
//do something
}

控制台.log完美地显示了我在updateaddress中生成的成功或错误.php并且我确实需要使用if语句在成功与否后执行一些代码。谁能向我解释一下在这种情况下回调系统是如何工作的?

谢谢!

由于这是异步的,因此可能需要一些时间才能完成。您需要在稍后运行的回调中传递它:

$.ajax({
    url: 'http://'+document.domain+'/klanten/updateaddress.php',
    type: 'post',
    data: poststring,
    success: function(result) { 
        console.log("result = "+result);    
        callbacks.add(result);
        if(result == success){
            //do something
        }
    }
});

解释一下,我们不知道if语句何时会发生,但它不会立即发生,因此我们告诉 javascript,当你准备好时运行以下命令。

Google JavaScript 回调以获取更多信息

http://recurial.com/programming/understanding-callback-functions-in-javascript/