Php 为什么这个Javascript没有触发Ajax事件?

Php 为什么这个Javascript没有触发Ajax事件?,php,javascript,ajax,feed,Php,Javascript,Ajax,Feed,我有一个各种各样的论坛,我想每隔一段时间自动刷新帖子。当页面加载开始时,我使用Ajax,稍后我将实现自动刷新。我遇到的问题是(我相信)导致Ajax请求。我有一个事件处理程序,用于在单击我的头时发生Ajax请求(用于调试)。我不会发布我所有的代码,只是这里最相关的部分,但是如果您想知道我的代码在其他地方可能有问题,请访问www.ethoma.com/testhome.php,它会向www.ethoma.com/getposts.php发送请求 Ajax请求函数: function getPosts

我有一个各种各样的论坛,我想每隔一段时间自动刷新帖子。当页面加载开始时,我使用Ajax,稍后我将实现自动刷新。我遇到的问题是(我相信)导致Ajax请求。我有一个事件处理程序,用于在单击我的头时发生Ajax请求(用于调试)。我不会发布我所有的代码,只是这里最相关的部分,但是如果您想知道我的代码在其他地方可能有问题,请访问www.ethoma.com/testhome.php,它会向www.ethoma.com/getposts.php发送请求

Ajax请求函数:

function getPosts(category, page, sort)
{
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("postcontainer").innerHTML=xmlhttp.responseText;
        }
}
var queryString = "?category=" + category + "&page=" + page + "&sort=" + sort;
xmlhttp.open("GET","getuser.php" + queryString,true);
xmlhttp.send();
}
我的PHP页面应该通过echo调用返回正确的html代码。另一方面,在我通过PHP页面返回的代码中嵌入html标记是可以的(新手问题)


如果您认为问题不在这段代码中,请再次随意浏览这两个页面。感谢所有查看/回答此问题的人,这里的每个人都非常有帮助。

我已经查看了您网站的实时版本,并在onreadystatechange中使用断点运行了它。您没有看到任何内容的原因是getuser.php404的


具体而言,被调用的URL是
http://www.ethoma.com/getuser.php?category=[object%20HTMLAllCollection]&page=1&sort=
(我很确定该类别是一个bug)并产生404,然后使用readyState=2和status=404调用onreadystatechange

您使用什么浏览器?尝试
xmlhttp.send(null)
。你不应该调用
getposts.php
而不是
getuser.php
?Cmon吗?现在你应该开始使用一些标准化的、易于学习的框架,它在你的位置上完成整个工作,比如jQuery或prototype。你在那里做的标记真是一团糟。我数了三个头和至少两具尸体。您可能应该首先修复该问题,以便至少知道事件在何处被触发……并且
body
标记中有一个缺少结束括号。不太好。