Ajax : 按钮要点击两次,才能正确显示
我在一个按钮下,使用最基本的Ajax代码,但第一点击,显示“undefined”,
第二次点击,就能正常显示。每次都这样,该怎样处理!
------解决方案--------------------code...
------解决方案--------------------贴出代码来!!
------解决方案--------------------楼上说的正确,把代码贴出来看看吧
------解决方案--------------------xmlHttp.open("GET", "?ID="+id,true);
这句有错误吧,没有处理的页面啊
------解决方案--------------------把 function popup(id)
{
startRequest(id);
//document.all("dek").innerHTML=content;
// skn.visibility="visible"
}
中的
document.all("dek").innerHTML=content;
skn.visibility="visible"
放到
if(xmlHttp.status == 200)
{
content=xmlHttp.responseText;
document.all("dek").innerHTML=content;
skn.visibility="visible"
}
------解决方案--------------------XmlHttp.readyState属性
0 (未初始化) 对象已建立,但是尚未初始化(尚未调用open方法)
1 (初始化) 对象已建立,尚未调用send方法
2 (发送数据) send方法已调用,但是当前的状态及http头未知
3 (数据传送中) 已接收部分数据,因为响应及http头不全,这时通过responseBody和responseText获取部分数据会出现错误,
4 (完成) 数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
因为 xmlHttp.send(null)后,这时readyState为2,Reoponse还没有返回,但是你的程序send后已经调用popup(id) ,这时content是空,所以是undefinded; 然后等Reoponse返回后,contenty已经赋值了,但是这时也不再调用popup(id)了。所以就如你所看到的,第一次点没有反映,第二次才能看见。