由于php每2秒填充一次js数组,但它只是第一次运行,因为php代码仅在我打开窗口时执行,但我想在每次启动js函数时执行它。
这是我的代码:
function update(){
var datas = <?php echo Gallery::getPhotos(); ?>;
...
}
setInterval( "update()", 2000 );
问题是var datas
永远不会改变,因为<?php echo Gallery::getPhotos(); ?>;
仅在第一次执行。我怎么能每2秒执行一次PHP?
我看到解决方案在文件上做了请求,但我不知道该怎么做,我不知道这是否只是1条指令的解决方案。
Gallery
是一个存储图片的单例类,函数getPhotos()
返回一个带有照片名称的数组。
答案 0 :(得分:1)
由于<?php ... ?>
仅在页面加载时运行,因此您可能必须使用AJAX。以下是一个基本的例子:
编辑:下面是一个有效的例子:
setInterval(function(){
$.get("myphp.php",function(data){
update(data);
});
},5000);
function update(data){
//...
}