Получение AJAX Div каждые 60 секунд

То, что я хотел бы сделать, это получить содержимое файла PHP и вставить его в div каждые 60 секунд, в основном обновляя динамический div. До сих пор я придумал следующий код, однако он, похоже, не работает. Код такой же, ничего лишнего, кроме входа в MYSQL.

PHP для захвата:

<?php $time = date("m/d/Y h:i:sa", time()); mysql_query("UPDATE djs SET requesttime='{$time}' WHERE username='{$djs['username']}'") or die(mysql_error()); $request_db = mysql_query("SELECT * FROM requests WHERE haveplayed='0'") or die(mysql_error()); echo "<table style=\"border:1px solid;width:99%;margin-left:auto;margin-right:auto;\" border=\"1\">"; echo "<tr><th>Title</th><th>Artist</th><th>Dedicated To...</th></tr>"; while($request = mysql_fetch_array( $request_db )) { echo "<tr><td style=\"width:33%;padding:1px;\">"; echo $request['SongName']; echo "</td><td style=\"width:33%;\">"; echo $request['Artist']; echo "</td><td style=\"width:33%;\">"; echo $request['DedicatedTo']; echo "</td></tr>"; } echo "</table>"; ?> 

Исходный PHP-код является тем же самым, заключенным в div с атрибутом id 'ajax_table'.

JavaScript:

 // JavaScript Document var xmlHttp_moniter function moniter() { xmlHttp_moniter = GetXmlHttpObject_parcel() if(xmlHttp_moniter == null) { alert("browser does not support HTTP Request") return } var url="ajax_table.php?random=" + Math.random() xmlHttp_moniter.onreadystatechange = stateChanged xmlHttp_moniter.open("GET",url,true) xmlHttp_moniter.send(null) } function stateChanged() { if(xmlHttp_moniter.readyState==4 || xmlHttp_moniter.readyState == "complete") { document.getElementById("ajax_table").innerHTML = xmlHttp_moniter.responseText setTimeout('ajax_table()',60000); } } function GetXmlHttpObject_parcel() { var xmlHttp_moniter=null; try { xmlHttp_moniter=new XMLHttpRequest(); } catch (e) { //Internet Explorer try { xmlHttp_moniter=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp_moniter=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp_moniter; } 

и на странице, запрашивающей другую страницу php.

Как насчет использования фреймворка, такого как jQuery, для упрощения вашего javascript:

 $(function() { setInterval(function() { $.get('ajax_table.php', function(data) { $('#ajax_table').html(data); }); }, 60 * 1000); }); 

Сначала не существует js-функции ajax_table (), вызываемой в

 setTimeout('ajax_table()',60000); 

в вашем коде.

Во второй точке вы уверены, что вызываете функцию moniter () где-то в первый раз?

Попробуйте это. Вы можете получить содержимое файла PHP и вставить его в div каждые 60 секунд. http://www.webtrickss.com/ajax/how-to-refresh-a-div-using-ajax/