如何在AJAX调用后执行Javascript执行
好的,在我的一个网站上,我有一个“新闻”边栏,用于显示来自表格的事件。如何在AJAX调用后执行Javascript执行
我最近开始使用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之前,但不是现在。
所以我怎么可以让JavaScript的执行它是由AJAX调用后?我用这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);
感谢他!LP :)
尝试修改你的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
使事情变得最糟糕的时候。上面的代码将确保它始终有效。
谢谢你看起来像这样可能会工作:)我会测试它。 – hellohellosharp 2012-03-28 04:11:56
还请确保用唯一编号替换'xx',这样就不会有任何ID冲突。 – Epuri 2012-03-28 04:16:04
不幸的是,JavaScript仍然没有执行:(我试过document.getElementById(“showtime_xx”)。innerHTML =“test”;只是可以肯定的,它没有工作 – hellohellosharp 2012-03-28 04:30:37
使用jQuery而不是如上评论,你的生活会更容易
$.post(url, {keyy: value}, function(){
// this function will be called after ajax call
})
好的,谢谢......但我仍然不确定这能帮助我......(对不起,我在JS非常不好意思)。有大约30个事件显示,所以我需要功能去几次?而且,我的get_time函数需要一个timestamp参数,它由PHP从事件表中给出。 – hellohellosharp 2012-03-28 04:09:05
也许你可以试试这个,'document.getElementById(“news”)。innerHTML = xmlhttp.responseText + get_time(xxxxxxx);'在你的代码中,检查innerHTML后,如果不是与ajax响应相同。 – Lee 2012-03-28 05:04:51
忘记这个库,改用jQuery。你的生活会容易得多。 – 2012-03-28 03:57:26
谢谢... jquery虽然是一个巨大的图书馆!任何想法,我应该开始模拟这样的事情......? – hellohellosharp 2012-03-28 04:02:09