我想要做的是检索PHP文件的内容并每隔60秒将其插入一个div,基本上刷新动态div。到目前为止,我已经提出了以下代码,但它似乎没有起作用。除了MYSQL登录之外,代码就像这样,没有什么额外的。
PHP抓住:
<?php
$time = date("m/d/Y h:i:s a", 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代码是相同的,包含在id属性为'ajax_table'的div中。
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页面的页面上。
答案 0 :(得分:3)
如何使用像jQuery这样的框架来简化你的javascript:
$(function() {
setInterval(function() {
$.get('ajax_table.php', function(data) {
$('#ajax_table').html(data);
});
}, 60 * 1000);
});
答案 1 :(得分:0)
首先,在
中没有调用js函数ajax_table()setTimeout('ajax_table()',60000);
代码。
第二点,你确定你是第一次在某个地方调用moniter()函数吗?
答案 2 :(得分:0)
试试这个,您可以检索PHP文件的内容并将其插入div中,每60秒http://www.webtrickss.com/ajax/how-to-refresh-a-div-using-ajax/