从 php 脚本更新 javascript 值

Updating a javascript value from a php script

我有这个代码:

var intervalID = window.setInterval(myCallback, 5000);
function myCallback() {
  g.refresh(Math.floor((Math.random() * 100) + 1), 100);
}

并且运行良好。每 5 秒我得到一个新的随机值。

我想从 php 脚本中获取随机值,所以我将代码更改为:

var intervalID = window.setInterval(myCallback, 5000);
function myCallback() {
  g.refresh(<?php echo $rand(1,100)?>);
}

但是这段代码只执行了一次,5 秒后我得到了更多的新值...(或者返回的随机值总是相同的?)。

为什么? 谢谢!

您应该使用 Ajax 来 "ask" php 脚本的下一个值。

Php只生成页面(这里是javascript的一部分),但是如果你查看渲染页面的源代码(mozilla中的ctrl +u),你会见:

var intervalID = window.setInterval(myCallback, 5000);
function myCallback() {
   g.refresh(123);
}

其中“123”是第一次生成的值。

你可以做一个 PHP 代码,return 一个随机值。在此页面中只是 "echo" 一个随机值。然后,您发出 Ajax 请求以获取值:

var intervalID = window.setInterval(myCallback, 5000);
function myCallback() {
  $.ajax({
    url: random.php,
  }).done(function(data) {
    g.refresh(data);
  });
}