好的,在我的一个网站上,我有一个“新闻”侧边栏,可以显示表格中的事件。
我最近开始使用AJAX自行更新表格。
AJAX在很大程度上起作用,除了一件事......每个事件的时间都不起作用。我用JS来显示时间。
以下是一个事件的例子......
<div class="event">
<p>The event text</p>
<script type="text/javascript">
//The timestamp variable below is fed by a PHP script from a big table of events.
//Also keep in mind there are many events on the page!
document.write(get_time(1332900003));
</script>
</div>
所以问题是AJAX从表中抓取HTML,然后将其吐出,但是get_time函数没有被执行:(这在使用AJAX之前工作正常,但现在不行。
那么如何在AJAX调用之后使javascript执行?我正在使用这个AJAX脚本...
function updateNews()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
if (document.getElementById("news").innerHTML != xmlhttp.responseText)
{
document.getElementById("news").innerHTML=xmlhttp.responseText;
}
}
}
xmlhttp.open("GET","display2.php",true);
xmlhttp.send();
}
updateNews();
setInterval( "updateNews()", 5000);
感谢您的帮助!:)
答案 0 :(得分:0)
使用jQuery代替上面的评论,你的生活会更容易
$.post(url, {keyy: value}, function(){
// this function will be called after ajax call
})
答案 1 :(得分:0)
尝试将HTML修改为以下内容:
<div class="event">
<p>The event text</p>
<div id="showtime_xx"></div>
<script type="text/javascript">
document.getElementById("showtime_xx").innerHTML = get_time(1332900003);
</script>
</div>
document.write
有时会让事情变得更糟。上面的代码将确保它始终有效。