标题:ajax重复请求XML
只看楼主
ly_57
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-8
 问题点数:0 回复次数:3 
ajax重复请求XML
代码:
//对GET方法的封装
function ajaxSendGet(url,processRequest) {
ajaxHttpRequest.open("GET",url,true);
ajaxHttpRequest.send(null);
ajaxHttpRequest.onreadystatechange = processRequest;
}
function getUsersCallBack{...}
问题:
在页面加载时调用了ajaxSendGet("users.xml",getUsersCallBack),在getUsersCallBack中读取XML数据并把数据填充到一列表框中.
页面中有一button,目的是可通过点击它来刷新列表框,button的onclick事件中第二次调用了ajaxSendGet("users.xml",getUsersCallBack),函数ajaxHttpRequest的第一条语句:ajaxHttpRequest.open("GET",url,true);执行时ajaxHttpRequest.readyState = 1,但是执行完第二条语句send后,ajaxHttpRequest.readyState的值直接变为4,而且一直保存下去,导致根本进入不了getUsersCallBack.
请教各位高手是什么原因!
搜索更多相关主题的帖子: ajax XML GET function 
2007-04-04 22:56
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
得分:0 

readyState=4 表示请求完成,应该不是导致进入不了的getUserCallBack的原因,能否把getUsersCallBack函数代码一起发上来看看


土冒
2007-04-05 11:52
ly_57
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2007-3-8
得分:0 
不好意思,最近忙得都忘了上来看,我认为问题的原因在于重复请求同一个xml文件时就会发生这种情况,不知道各位高手有没有解决办法
2007-04-22 16:50
编程之星
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:285
专家分:391
注 册:2007-4-10
得分:0 

你加入下面这两句试试:

delete ajaxHttpRequest;
ajaxHttpRequest=null;

上面的代码的意思是:将当前请求后的XMLHTTP对象从内存中删除,当再次调用函数时,又重新创建了XMLHTTP对象.

或者你也可以在请求参数中加入当前时间(如:new date().toString())[注:这个方法我没有尝试过,看书的.不知道行不行]


怎么越学就觉得自己越笨
2007-04-26 12:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-129315-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.830838 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved