需要 javascript 或 jquery 函数来包装 php 代码(window.setInterval bootstrap 列表组)

need javascript or jquery function to wrap php code (window.setInterval bootstrap list group)

感谢大家的回答,看来AJAX是解决方案,我试试看。但是 JSON 呢? JSON 不是更好的解决方案吗?如果是,为什么 AJAX 更可取?

我正在寻找一种方法来每 5 秒更新一次 php 代码的这一部分,这将重新生成此 bootstrap 列表组。这样做的好方法是什么?我想我不能只将它包装在 window.setInterval 中,并且刷新整个页面不是一个选项。提前致谢。

<?php
    $i=0;
    // Display all room
    foreach ($rooms as $room) {
        $room_num = $room['room_num'];
        $room_type = $room['room_type'];
        $note = $room['note'];

        echo '
        <a class="list-group-item" >
            <h4 class="list-group-item-heading" id="room_num' .$i. '" ><p>'.$room_num." - " .$room_type.'</p></h4>
            <p class="list-group-item-text" id="note' .$i. '" ><p>'.$note.'</p></p>
        </a>
        ';
        $i++;
    }
    $rooms = "";
    getList();
?>

基本上当您在 javascript 中编写 php 代码时,它总是 运行 一次,当页面被加载时。在此之后你只是向浏览器编写 php 代码,这根本不理解(Php 在服务器上处理,输出为 Html、Css 和 Javascript,浏览器可以解释)

因此,如果您需要在不重新加载页面的情况下从服务器更新数据,唯一的方法是使用 Ajax 请求,它基本上连接到页面内的服务器并从中获取数据.

在你的情况下,保存你想要在文件中执行的 PHP 代码,比如 php_temp.php

现在就做

setInterval(function(){
$.get("php_temp.php", function(data){
  console.log(data)  // data stores whatever php_temp.php echoes 
});
},5000);

关于 Ajax 的更多信息:Ajax Basics

都一样'page.php'

php 部分:

<?
if ($_POST["whatever"])
{
echo 'your shizzle here'
exit;
}
?>

Javascript 部分:(含 jquery)

<script>
setInterval(function()
{
$.post( "page.php", { whatever: 1}, function( data ) {
document.getElementById('someid').innerHTML = data;
});
},5000);
</script>

html部分

<div id = "someid"></div>

另一种方法是使用 iframe :) 但我认为以后不会使用 iframe。