Обновить страницу PHP с помощью ajax

У меня есть страница php, которую нужно обновлять каждые 5 секунд. При вложении файла ajax я не нахожу обновления, происходящие в Firebug. Вот скелет кода:

**notification.php** <?php .... .... ?> <html> <head> <script src="./refresh.js"></script> <script type="text/javascript"> refreshContents(); </script> </head> <body> .... <div id="identifier"> <p>Waiting area</p> </div> </body> </html> **refresh.js** var seconds = 5; var content = "identifier"; var url = "notification.php"; function refreshContents() { var xmlHttp; try { xmlHttp = new XMLHttpRequest(); } catch(e) { try { xmlHttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch(f) { try { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(g) { alert("Browser not supports Ajax"); return false; } } } xmlHttp.onreadystatechange=function() { if (xmlHttp.readyState == 4) { document.getElementById(content).innerHTML = xmlHttp.responseText; setTimeout('refreshContents()', seconds*1000); } } xmlHttp.open("GET", url, true); xmlHttp.send(null); } var seconds = 5; window.onload = function startrefresh(){ setTimeout('refreshContents()', seconds*1000); } 

Related of "Обновить страницу PHP с помощью ajax"

Хотя это не может быть идеальным решением, jQuery имеет довольно простой способ реализовать именно это:

 $(document).ready(function () { function reload() { $("#content").load("notification.php"); } setTimeOut(reload, seconds*1000) } 

Я не уверен, что будет работать отлично, не сделал этого через некоторое время, но это гораздо более элегантное решение, которое я действительно верю.

Почему бы просто не поместить <meta http-equiv="refresh" content="5"> в ваш <head> ? Он обновит страницу каждые 5 секунд без необходимости в javascript.

см. следующий пример:

 <html> <head> <title>Refresh a page in jQuery</title> <script type="text/javascript" src="jquery-1.3.2.min.js"></script> </head> <body> <button id="PageRefresh">Refresh a Page in jQuery</button> <script type="text/javascript"> $('#PageRefresh').click(function() { location.reload(); }); </script> </body> </html> 

этот код определенно поможет вам. или мы можем использовать –

  <meta http-equiv="refresh" content="5">