AJAX从PHP页面更新Javascript变量?

时间:2014-03-13 11:27:40

标签: php ajax variables

我不是开发人员所以这对我来说是新手,但我是一个很长时间的系统管理员所以如果我问愚蠢的问题,请原谅我!

基本上,我有一个PHP脚本解析一些XML,echo是一个格式化为1 dp的数字。

我正在使用一些Javascript Wijmo小部件,特别是一个从javascript变量输入的表盘。让我们说“结果值”。

我希望每隔5秒使用我的php脚本的结果填充“结果值”,该脚本存在为/xmlparse.php。 wijmo小部件显然会动态响应变化的变量,因此这将生成一个带有移动针的刻度盘,而无需刷新整个页面。

我需要实现的是让这个javascript变量每5秒更新一次。

我已经在html页面上使用AJAX做了类似的事情,只需使用/xmlparse.php的结果填充DIV,并且使用set interval命令可以很好地工作。

但是如何使用该脚本的结果每5秒更新一次我的javascript变量?

一个例子将是一个很大的帮助!

Code Here

此致 汤姆

2 个答案:

答案 0 :(得分:0)

window.setInterval(function(){
    jQuery.ajax({ 
        url:'/xmlparse.php'
    }).done(function(response) {
        resultvalue=response;
    });
},5000);

您可能需要解析结果。也许xmlparse应该用json_encode对其进行格式化,这样你的ajax请求就可以把它作为一个对象来抓取。

修改 查看您的来源,我发现径向仪表实际上并没有监控结果值变量以检测它何时发生变化。您必须自己更新。在这种情况下:

window.setInterval(function(){
        jQuery.ajax({ 
            url:'/xmlparse.php'
        }).done(function(response) {
            resultvalue=response;
            $("#gauge").wijradialgauge({value:resultvalue});
        });
    },5000);

答案 1 :(得分:0)

您可以设置全局变量并将其设置为从xmlparse.php;

返回的值
var resultValue;
// load at page load first
$(document).ready(function() {
  updatevalue();     
}); 

setInterval("updatevalue()", 5000);

function updatevalue(){
    $.get("xmlparse.php", function(response) {
      resultValue = response;
    })
}

这是测试

setInterval("test()", 4000);

function test() {
  console.log("Result is: " + resultValue);
}