在以下 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/