簡體   English   中英

使用jQuery自動刷新內容(使用模板引擎)

[英]Auto-refreshing content (using template engine) using jQuery

我正在尋找一種將jQuery與腳本index.php結合使用的方法,該腳本是使用模板引擎逐位構建的,如下所示:

<?php

global $template;

page_header(); // Calls and displays header.html
$template->load('body', 'index.html'); // Loads index.html and calls it 'body'
   *Code that assigns values to variables in index.html*
$template->display('body'); // Displays index.html
page_footer(); // Calls and displays footer.html
?>

每行所做的評論。

我想使用自動刷新index.php的jQuery構建函數,但僅刷新“ body”部分。 我找不到有關此操作的任何文檔,但是我查看了以下代碼:

function update() {
  $("#notice_div").html('Loading..'); 
  $.ajax({
    type: 'GET',
    url: 'index.php',
    timeout: 2000,
    success: function(data) {
      $("#current_game").html(data);
      $("#notice_div").html(''); 
      window.setTimeout(update, 10000);
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
      $("#notice_div").html('Timeout contacting server..');
      window.setTimeout(update, 60000);
    }
});
};

但是當它放在標題中時,它會變得非常混亂,因為它調用了嵌套標題的整個index.php頁面,因此我們在標題中有一個標題。 有什么建議么?

最簡單的解決方案是發送get變量;

function update() {
    $("#notice_div").html('Loading..'); 
    $.ajax({
        type: 'GET',
        url: 'index.php',
        data: 'ajax=true',
     ...
}

並在您的php文件中執行以下操作:

if($_GET['ajax'] == 'true') {
    // don't print header, but other stuff
} else {
    // print header
}

如果您使用的是框架,則它可能具有一些智能功能來自動確定它是xhttp請求還是普通請求。 通常通過檢查標題來完成

jQuery:自動刷新一個`<div> `</div><div id="text_translate"><p> 我無法讓這個&lt;div&gt;使用 jQuery 自動更新。 它本質上是一個聊天功能,每兩秒刷新一次頁面。 我已經嘗試了幾種變體,但都沒有運氣,所以完全改寫它是非常受歡迎的。</p><p> <strong>jQuery 代碼</strong>:</p><pre> function updateChat() { $.get("chat_data.php", function(data) { $("div#chattable").html(data); }); window.setTimeout("updateChat();", 2000); } $(document).ready(function() { updateChat(); });</pre><p> 這是&lt;div&gt;代碼,它從chat_data.php獲取數據。 這應該是更新:</p><pre> &lt;div id="chattable"&gt; &lt;?php include("js/chat_data.php"); ?&gt; &lt;/div&gt;</pre><p> <strong>聊天數據.php</strong> :</p><pre> &lt;?php foreach($query-&gt;result() as $row): echo "&lt;div class='chatrow'&gt;"; echo "&lt;div class='chattime'&gt;".date("[Md] g:ia",strtotime($row-&gt;time))."&lt;/div&gt;"; echo "&lt;div class='chatnamematch'&gt;[".$row-&gt;name."]&lt;/div&gt;"; echo "&lt;div class='chatbody'&gt;".$row-&gt;body."&lt;/div&gt;"; echo "&lt;/div&gt;"; endforeach; ?&gt;</pre></div>

[英]jQuery: Auto-Refreshing a `<div>`

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 在jQuery自動刷新div中使用jQuery工具提示 jQuery:自動刷新一個`<div> `</div><div id="text_translate"><p> 我無法讓這個&lt;div&gt;使用 jQuery 自動更新。 它本質上是一個聊天功能,每兩秒刷新一次頁面。 我已經嘗試了幾種變體,但都沒有運氣,所以完全改寫它是非常受歡迎的。</p><p> <strong>jQuery 代碼</strong>:</p><pre> function updateChat() { $.get("chat_data.php", function(data) { $("div#chattable").html(data); }); window.setTimeout("updateChat();", 2000); } $(document).ready(function() { updateChat(); });</pre><p> 這是&lt;div&gt;代碼,它從chat_data.php獲取數據。 這應該是更新:</p><pre> &lt;div id="chattable"&gt; &lt;?php include("js/chat_data.php"); ?&gt; &lt;/div&gt;</pre><p> <strong>聊天數據.php</strong> :</p><pre> &lt;?php foreach($query-&gt;result() as $row): echo "&lt;div class='chatrow'&gt;"; echo "&lt;div class='chattime'&gt;".date("[Md] g:ia",strtotime($row-&gt;time))."&lt;/div&gt;"; echo "&lt;div class='chatnamematch'&gt;[".$row-&gt;name."]&lt;/div&gt;"; echo "&lt;div class='chatbody'&gt;".$row-&gt;body."&lt;/div&gt;"; echo "&lt;/div&gt;"; endforeach; ?&gt;</pre></div> 使用JQuery在頁面上自動刷新3個Div,但其中之一不起作用? if/else with setInterval 自動刷新和點擊刷新事件 jquery? 防止使用PHP自動刷新? 自動刷新聊天 HTML表單發布方法和自動刷新PHP頁面 使用jQuery刷新表 使用PHP作為模板引擎 使用自定義模板引擎如何用 php 替換內容
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM