2017-02-28 65 views
1

我已經做了一個小腳本來加載一個頁面到另一個頁面的div,每5秒刷新一次。JQuery間隔不工作

頁面按預期加載,但間隔似乎不起作用。

我已經搜索了一個解決方案,但所有線程都說我的代碼應該像這樣工作。所以我決定在這裏發佈完整的代碼。

JQuery的(和AJAX):

<script> 
function load(){ 
    $('#chatload').load('/intern/chat/chatlogframe.php/?name=muster',function() { 
     $(this).unwrap(); 
    }); 
} 

load(); // run it on pageload 
setInterval(function(){ 
    load() // this should run every 5 seconds 
}, 5000); 
</script> 

的chatlogframe.php文件包含SQL SELECT查詢。每次執行scipt時都應該重新載入數據。

UPDATE:

我查了Chrome的控制檯在那裏說:Uncaught TypeError: $(...).unwrap is not a function

我不認爲該函數是錯誤的,但也許它幫助。

更新2:

繼承人的HTML DIV:

<div id='chatload'></div> 
+0

你忘了添加一個 「;」在加載結束時。查看您的瀏覽器中的控制檯日誌以查看是否有任何錯誤。也可以在你的間隔函數中嘗試一個console.log。 – eiskaltereistee

+0

謝謝!但它仍然不起作用。我檢查了Chrome控制檯並得到這個錯誤:'Uncaught TypeError:$(...)。unwrap不是函數' –

+0

你確定jQuery文件正在被加載嗎?這是說,它不是,因爲jQuery不存在。更新:對不起沒有看到它加載罰款下面的評論。我的錯。 –

回答

1

它的工作原理。 $('#chatload').load('/intern/chat/chatlogframe.php/?name=muster',function() { $(this).unwrap(); });

.unwrap()可能存在問題,但需要發佈您的示例HTML容器。

function load() { 
 
    console.log("Do something"); 
 
    $('#chatload').load('https://jsonplaceholder.typicode.com/posts/1', function() { 
 
    $(this).unwrap(); 
 
    }); 
 
} 
 

 
load(); // run it on pageload 
 
setInterval(function() { 
 
    load() // this should run every 5 seconds 
 
}, 5000);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id="chatload"></div>

+0

文件加載沒有問題。只有時間間隔不起作用 –

+1

'.unwrap()'可能是個問題,但要確定您需要發佈樣本HTML容器。 – Rikin

+0

更新了問題 –