Javascript 如何在PHP中使用jQuery定期获取数组的n个项?

Javascript 如何在PHP中使用jQuery定期获取数组的n个项?,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,假设我有两个div。我必须用数组的前两个元素填充它们。然后自动刷新div,它们将由数组的下两项自动填充。这应该重复到数组结束。遍历每个元素后,自动刷新应停止 例如,我的数组中有8个元素和2个div(mydiv1和mydiv2)。我希望在每一秒之后,div都能刷新自己。第一次mydiv1包含A1,第二次mydiv2包含A2,第二次mydiv1=B1,mydiv2=B2……以此类推4次 我的xyz.php文件 <?php //echo rand(); $questions=ar

假设我有两个div。我必须用数组的前两个元素填充它们。然后自动刷新div,它们将由数组的下两项自动填充。这应该重复到数组结束。遍历每个元素后,自动刷新应停止

例如,我的数组中有8个元素和2个div(mydiv1和mydiv2)。我希望在每一秒之后,div都能刷新自己。第一次mydiv1包含A1,第二次mydiv2包含A2,第二次mydiv1=B1,mydiv2=B2……以此类推4次

我的xyz.php文件

<?php
    //echo rand();
    $questions=array(
                     "A1",
                     "A2",
                     "B1",
                     "B2",
                     "C1",
                     "C2",
                     "D1",
                     "D2"
                     );
    ?>

我的index.php文件

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var auto_refresh = setInterval(
function ()
{
$('#mydiv1').load('xyz.php').fadeIn("slow");
}, 1000); // refresh every 1000 milliseconds
});
</script>
</head>
<body>
<div id="mydiv1"> </div>
<div id="mydiv2"> </div>
</body>

$(文档).ready(函数(){
var auto_refresh=setInterval(
函数()
{
$('#mydiv1').load('xyz.php').fadeIn(“slow”);
},1000);//每1000毫秒刷新一次
});

对您上一个问题中Barmar的代码进行了一些更改

<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var counter=0;
var auto_refresh = setInterval(function() {
$.getJSON('xyz.php', function(data) {
    $("#mydiv1").html(data[counter]);
    $("#mydiv2").html(data[counter+1]);
counter+=2;
if (counter > 6) {
        clearInterval(auto_refresh);
    }
    });
}, 1000);
});
</script>
</head>
<body>
<div id="mydiv1"> </div>
<div id="mydiv2"> </div>
</body>


PHP

<?php
$questions=array(
                 "A1",
                 "A2",
                 "B1",
                 "B2",
                 "C1",
                 "C2",
                 "D1",
                 "D2"
                 );

echo json_encode($questions);

?>

$(文档).ready(函数(){
var计数器=0;
var auto_refresh=setInterval(函数(){
$.getJSON('xyz.php',函数(数据){
$(“#mydiv1”).html(数据[计数器]);
$(“#mydiv2”).html(数据[counter+1]);
计数器+=2;
如果(计数器>6){
clearInterval(自动刷新);
}
});
}, 1000);
});
PHP

谢谢,它工作顺利,符合我的要求。我对这个解决方案中的一点表示怀疑。你在哪里施加了边界条件?如果setInterval被调用4次,那么接下来会发生什么。我们不应该在某个地方使用clearInterval吗?@nkp现在检查解决方案绝对正确。再次感谢你,曼尼什。我会接受你的回答。