【发布时间】:2012-09-27 05:01:02
【问题描述】:
AJAX 只能工作一次,我必须重新加载页面才能再次工作。我该如何解决这个问题?
echo "<div class='unsubscribe'><a id='us$id' href='javascript:unsubscribe($id);'><img src='/unsubscribe.jpg' alt='unsubscribe' /></a></div>";
function unsubscribe(number)
{
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)
{
document.getElementById("us"+number).innerHTML="<img src='/subscribe.jpg' alt='subscribe' />";
}
}
xmlhttp.open("GET","/unsubscribe.php?id="+number,true);
xmlhttp.send();
}
【问题讨论】:
-
我建议学习 firebug 或 chrome 开发者工具来看看这里到底发生了什么 - 你可以检查网络请求,查看 javascript 异常,设置断点,并通过代码来寻找问题。
-
如果您对新技术持开放态度,我强烈建议您使用jQuery 来制作您的ajax calls。它看起来像这样:
$.get("/unsubscribe.php?id="+number);
标签: javascript ajax