javascript - jQuery 并行 AJAX 调用混合了返回值

标签 javascript jquery ajax

在以下 JavaScript 代码中,我反复对 FastCGI 模块进行 AJAX 调用以查询某些值。在某些时候,当 div2 情况的 data 变量不是 0 但包含应进入 div1 的值时,代码会终止div1 显示应该进入 div2 的值。

我使用的是 Chromium 浏览器 (14.0.835.202 (Developer Build 103287 Linux) Ubuntu 10.10),但 FireFox 也会出现这种情况。我还尝试单独使用 XMLHttpRequest 对象,得到了相同的结果。

这是怎么回事以及如何解决?

function TimerEvent() {
    $.ajax({
        url: "/cgi-bin/wvvar.cgi",
        type: "POST",
        data: "cmd=get&varname=s@SYSDATETIME",
        success: function(data) {
            document.getElementById("div1").innerHTML = data;
        }
    });

    $.ajax({
        url: "/cgi-bin/wvvar.cgi",
        type: "POST",
        data: "cmd=get&varname=@LOGINSTATE",
        success: function(data) {
            document.getElementById("div2").innerHTML = data;
            if (data == "0")
                setTimeout("TimerEvent()", 50);
        }
    });
}

最佳答案

也许尝试让它们按顺序排列:

function TimerEvent() {
$.ajax({
    url: "/cgi-bin/wvvar.cgi",
    type: "POST",
    data: "cmd=get&varname=s@SYSDATETIME",
    success: function(data) {
        document.getElementById("div1").innerHTML = data;
        $.ajax({
            url: "/cgi-bin/wvvar.cgi",
            type: "POST",
            data: "cmd=get&varname=@LOGINSTATE",
            success: function(data) {
                document.getElementById("div2").innerHTML = data;
                if (data == "0")
                    setTimeout("TimerEvent()", 50);
            }
        });
    }
});

}

关于javascript - jQuery 并行 AJAX 调用混合了返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805869/

相关文章:

jquery - 检测我所做的属性值的属性更改

javascript - 将焦点设置在某个类名称的下一个元素的输入字段上

javascript - AJAX 获取数据,回发并再次获取

javascript - php - 将数组从 php 传递到 jquery ajax,然后再次将相同的数组从 jquery 传递到 php

javascript - 如何重置 JavaScript 数组中的数组索引

javascript - javascript 正则表达式中的 d 标志是什么意思?

javascript - 如何创建 Mongoose 架构,将输入保存为 mongodb 中的 html

javascript - 如何在 Node.js 中使用 MongoDB 的 populate 方法?

javascript - 删除框时如何使用 JQuery 创建滑动效果?

jquery - AJAX 从 HTML 获取 div