【发布时间】:2013-06-14 04:48:26
【问题描述】:
我的 JavaScript 中有一个循环,它不断检查变量 EventCounter,如果 eventcounter 为零,那么它会继续执行一个操作,然后将其递增 ++,然后它什么都不做,直到该变量发生变化,这是代码:
EventCounter = {{eg.globals.EventCounter}};
for(var i = 0; i < n; ++i) {
r = rects[i];
ctx.strokeRect((r.x*sc)|0,(r.y*sc)|0,(r.width*sc)|0,(r.height*sc)|0);
window.rects = rects[i];
//console.log(EventCounter);
if (EventCounter === 0) {
console.log("event counter is" + EventCounter)
//setTimeout( function () {document.getElementById("sb").click()}, 5000)
EventCounter++
console.log("event counter is now " + EventCounter);
}
}
}
现在 EventCounter 全局变量从网络服务器(它是一个 Python 网络服务器和它的一个 Python 变量)获取它的值。
但我的问题是如何检测到网络服务器上的变量已更改?一个ajax请求对吗?我将如何请求变量值以检测它是否已更改,以便循环可以再次运行? (**服务器与PHP不兼容)
【问题讨论】:
-
AJAX 请求肯定会执行此操作,但我希望您不建议连续轮询服务器以获取此信息。您还应该查看 setInterval 以减少轮询频率
-
好吧,为了想知道它是如何使用 AJAX 完成的,可以说 websockets 不是一个选项。我该怎么办?
标签: javascript python ajax variables webserver