2014-05-01 180 views
-1

我有一點的JavaScript,張貼到一個PHP,每秒,它檢查一個時間表,基本上返回「刷新」,如果開始時間滿足,然後返回刷新時,結束時間得到滿足。重新加載頁面一次,然後重新加載沒有內容變化

如果「刷新」它重新加載顯示其假設的頁面。

function checkSchedules(){ 
    if(sch_timer) 
    clearInterval(sch_timer) 
$.ajax({ 
    url:'checkSchedule_test.php?mediaID='+mediaIDArray[schCount], 
    type:'GET', 
    complete: function (response) { 

     if(response.responseText == "refresh"){ 
      location.reload(true); 
     }   

    }, 
    error: function() { 
     alert('Sorry there was an error!'); 
    }, 
}) 
sch_timer = setTimeout(checkSchedules,1000); 
schCount = (schCount >= urlArray.length - 1)? -1 : schCount 
++schCount 
} 
在php

if ($current_date>=$startDate && $current_date<=$endDate){ 
    if ($current_time >= $startTime && $current_time <= $endTime){ 
$timeout = $endTime - $current_time; 
if ($current_time >= $startTime && $current_time <= ($startTime+3000)){ 
    echo "refresh"; 
} 
if($timeout<=3000){ 
    echo "refresh"; 
} 
    } 
} 

時開始計時滿足它刷新精細

,工程巨大。 然後當結束時間滿足時刷新,但內容相同。 如果我點擊刷新它工作正常。

我試着重裝()方法的不同(document.reload,等...)

有沒有人有什麼想法?

乾杯

+0

你可以這一切都通過JS,你爲什麼通過PHP檢查日期/時間? – cmorrissey

+0

php從數據庫中獲取設置時間,所以我要麼返回時間,並執行數學JS或在PHP中執行所有操作,返回true或false。兩者都有相同的結果。 – ajl80

+0

您正在創建一個巨大開銷的實例,假設您有1000個用戶,每個用戶每秒鐘都會檢查您的網站以進行一些日期/時間計算,現在您的服務器已經被所有這些請求堵塞了。設置一些JSON,其中包含每個項目的開始/結束時間,然後在一段時間內循環遍歷它,然後只需調用服務器即可刷新該對象而不是整個頁面。 – cmorrissey

回答

0

使用控制檯來了解什麼是從服務器返回

使用debug()console.log()的瞭解是從PHP返回......重裝腳本是正確的問題將是阿賈克斯期間

+0

它會在結束時觸發刷新或警報()。 – ajl80