每隔x秒用php动态创建一个js数组

时间:2016-02-13 18:30:30

标签: javascript php

由于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()返回一个带有照片名称的数组。

1 个答案:

答案 0 :(得分:1)

由于<?php ... ?>仅在页面加载时运行,因此您可能必须使用AJAX。以下是一个基本的例子:

编辑:下面是一个有效的例子:

setInterval(function(){
    $.get("myphp.php",function(data){
        update(data);
    });
},5000);

function update(data){
    //...
}

参考:http://api.jquery.com/jQuery.get/