2011-07-27 92 views
0

我有一个排序论坛,我想每隔一段时间自动刷新一次。我在页面加载启动时使用Ajax,稍后我将实现自动刷新。我遇到的问题是(我相信)引发Ajax请求。我有一个Ajax请求的事件处理程序,当我单击我的标题(出于调试目的)时发生。我不会发布我的所有代码,只是这里最相关的部分,但是如果您希望您认为我的代码在其他地方可能存在问题,请随时访问www.ethoma.com/testhome.php,它会发送一个请求www.ethoma.com/getposts.php。为什么这个Javascript不会触发Ajax事件?

的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页面应该通过回声调用返回正确的HTML代码。在附注中,可以在通过我的PHP页面返回的代码中嵌入html标签(新手问题)吗?

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

+0

你用什么浏览器?尝试'xmlhttp.send(null)'。 – marc

+0

你不应该调用'getposts.php'而不是'getuser.php'吗? – sitnik

+0

Cmon',nowerdays你应该开始使用一些非常容易学习的框架,在你的地方完成整个工作,比如jQuery或原型。 – Deele

回答

0

我已经看过您的网站的实时版本,并在onreadystatechange中运行一个断点。你没有看到任何东西的原因是getuser.php 404的。

特别是所谓的网址是http://www.ethoma.com/getuser.php?category=[object%20HTMLAllCollection]&page=1&sort=(我敢肯定的类别是一个bug),并产生了404,然后onreadystatechange的是当readyState = 2和状态称为= 404

相关问题