如何使用AJAX从Web服务器请求变量?

我的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全局变量从Web服务器(其python Web服务器及其python变量)获取其值。


但是我的问题是如何检测Web服务器上的变量已更改?一个ajax请求吧?我将如何请求变量值来检测它是否已更改,以便循环可以再次运行?(**该服务器与PHP不兼容)


温温酱
浏览 161回答 4
4回答

jeck猫

您可以像Mike W建议的那样使用WebSocket。您也可以在python服务器上编写一个脚本,该脚本在调用时返回JSON,然后在JSON文件中包含所需的变量及其值。所有浏览器都将支持此功能,而不仅仅是WebSockets要求的现代浏览器。

POPMUISE

看一下WebSockets,它允许服务器在建立连接后随时向浏览器发送消息。您可以使用Javascript事件处理程序处理传入的消息,从而避免了连续轮询的需要。所有主流浏览器(包括IE10)都支持WebSockets。当然,您必须确保您的服务器应用程序也可以支持WebSockets。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python