jquery - 在所有 .each() 发起的 AJAX 请求完成后运行代码

标签 jquery variables global

我想在处理完所有元素的 AJAX 请求后处理结果。但是,我的 test 变量没有警告正确的值。我怎样才能做到这一点?

var test = 0;

$('#div :input').each(function() {
    var loadUrl = "path_to/ajax.php?label="+value;  
    $.ajax({
        type: "GET",
        url: loadUrl,
        success: function(msg) {
            if(msg == 1) {
                test++;
            }
            else if(msg == 2) {
                test++;
            }
        }
    });                     
});

alert(test);

最佳答案

当到达 alert() 时,ajax 调用尚未完成,并且 success 回调尚未被调用。因此test仍然有其初始值。

关于jquery - 在所有 .each() 发起的 AJAX 请求完成后运行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288062/

相关文章:

带有文本的 jQuery 视差移动背景

javascript - 调用ajax了解学分

c - 编译器在c中分配垃圾值的贡献

bash - bash 中的变量验证(名称和 IP 地址)

java - 从全局变量中读取和写入

javascript - jQuery 事件中的自调用函数不起作用

c# - 在页面加载时调用 Jquery 函数

javascript - 在多个函数之间共享变量

无法使用 `getpagesize()` 调用在 C 中设置全局变量

java - Eclipse 上的语法错误(公共(public)静态变量)