繁体   English   中英

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

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

感谢所有的答案,似乎AJAX是解决方案,我会试一试。 但是JSON怎么样? JSON不是更好的解决方案吗? 如果是,为什么AJAX更可取?

我正在寻找一种方法来每5秒更新这部分PHP代码,这将重新生成这个引导程序列表组。 什么是一个好方法呢? 我想我不能将它包装在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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM