2017-05-16 66 views
3

如何使用javascript刷新回顯? 我有這樣的事情:如何使用Javascript刷新PHP腳本頁面

<?php 
$today = time(); 
$todayStr = date('D'); 
$summerS = mktime(0,0,0,2,0,date('Y')); 
$summerE = mktime(0,0,0,12,21,date('Y')); 
$close = mktime(17,0,0,date('n'),date('j'),date('Y')); 
if ($today >= $summerS && $today <= $summerE) 
{ 
    if ($todayStr == "Sat") 
    { 
     $open = mktime(8,0,0,date('n'),date('j'),date('Y')); 
     if ($today >= $open && $today <= $close) 
     {   
      $openT = "Otevřeno"; 
     } 
     else 
     { 
      $nextO = date("H:i:s",($open - $today)); 
      $openT = "Zavřeno"; 
     } 
    } 
    elseif ($todayStr == "Sun") 
    { 
     $open = mktime(8,0,0,date('n'),date('j'),date('Y')); 
     if ($today >= $open && $today <= $close) 
     {   
      $openT = "otevřeno"; 
     } 
     else 
     { 
      $nextO = date("H:i:s",($open - $today)); 
      $openT = "zavřeno"; 
     } 
    }... 

<p>Právě je <?php echo $openT ?></p> 

而且我甚至不知道如何刷新回聲< p>要表示第二次。

+2

這將是一個更好的方法來使用Javascript來做到這一點。這對你而言會好嗎? – Kyon

+0

你可以使用'innerhtml'方法https://www.w3schools.com/jsref/prop_html_innerhtml.asp –

+2

你在這個頁面上還有其他的東西嗎?你確定每秒都用JavaScript來完全重新加載頁面嗎?或者更好的是,你會考慮用JavaScript重寫你的邏輯嗎?這肯定會表現更好,因爲它會節省往返服務器的往返時間,並且每秒都會返回,並且您在PHP中顯示的所有內容都可以用JavaScript完成。 – alexanderbird

回答

3

由於echo代碼在服務器上執行且JavaScript在瀏覽器中執行,因此無法使用JavaScript「刷新」回顯。

你的兩個最好的選擇是:

  • 去做所有那些你在你的PHP做計算在客戶端的JavaScript
  • 創建返回您$ openT值一個Web服務,並調用與AJAX端點在瀏覽器