ajax显示数据 第二遍不能显示

chenjiale1987 2012-02-29 11:43:20
function showLifeList(str)
{
if(str!="")
{
var url="../AjaxService/Default.aspx?id="+ escape(str);
xmlhttp=createXMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var dom=xmlhttp.responseXML;
var innerHTML="";
for(var i=0;i<9;i++)
{
if(i==0)
{
innerHTML+="<ul id='life_list'><li style='background:url(image/libj1.jpg) no-repeat ; padding-left:15px; color:#000; width:240px;'><p style='width:auto; margin-top:-4px;'>"+dom.getElementsByTagName("Collection_Title")[i].text+"</p><h5 style='float:left; width:180px; display:inline'><span style='float:left; font-weight:normal; color:#999;'>"+dom.getElementsByTagName("Collection_Time")[i].text.substring(0,10)+"</span><span style='float:left; margin-left:85px; font-weight:normal; color:#669900'>顶["+dom.getElementsByTagName("Collection_remark")[i].text+"]</span></h5></li>";
}
else
{
innerHTML+="<li style='padding-left:15px; color:#000; width:240px;'><p style='width:auto; margin-top:-4px;'>"+dom.getElementsByTagName("Collection_Title")[i].text+"</p><h5 style='float:left; width:180px; display:inline'><span style='float:left; font-weight:normal; color:#999;'>"+dom.getElementsByTagName("Collection_Time")[i].text.substring(0,10)+"</span><span style='float:left; margin-left:85px; font-weight:normal; color:#669900'>顶["+dom.getElementsByTagName("Collection_remark")[i].text+"]</span></h5></li>";
}
}
innerHTML+="</ul>";
document.getElementById("gdt-nr").innerHTML=innerHTML; alert(innerHTML);
}
}
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
}

为什么第一遍显示数据就好好的,在点别的<a>标签onclick事件 就显示空的数据呢?alert()明明能看到值啊?
...全文
80 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
夜雨山庄 2012-03-01
  • 打赏
  • 举报
回复
可能错误不在于你这个函数,而在于你gdt-nr这个元素的定义,看看定义是否闭合,
别出现<div id="gdt-nr"><div>这种不闭合的定义。
chenjiale1987 2012-02-29
  • 打赏
  • 举报
回复
谁能帮我解决啊 在线等啊。。
chenjiale1987 2012-02-29
  • 打赏
  • 举报
回复
怎么一直点他偶尔会显示一下
小昭 2012-02-29
  • 打赏
  • 举报
回复
程序走出这里:if (xmlhttp.readyState==4 && xmlhttp.status==200)

你就再也取不到了

你可以在定义一个全局变量,在if (xmlhttp.readyState==4 && xmlhttp.status==200)

里面将返回的值保存。。

之后不管在哪里,都可以访问到了。。
oggmm 2012-02-29
  • 打赏
  • 举报
回复
如果innerHTML有值 看是不是哪里把它跟隐藏掉了 或者是不是其他方法又把它清空了
oggmm 2012-02-29
  • 打赏
  • 举报
回复
你说的别的标签也是只执行这个方法吗?

52,797

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Ajax
社区管理员
  • Ajax
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧