FF下的ajax缓存

deninghe 2007-05-19 10:57:09
function getXmlhttp(){
var http_request;
if(window.XMLHttpRequest){
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject){
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
window.alert("can't create XMLHttpRequest object.");
return null;
}
return http_request;
}
//处理请求
function txl_request(url,obj){
var xhttp = getXmlhttp();
xhttp.open("GET",url,true);
xhttp.onreadystatechange = function(){
if(xhttp.readyState == 4){
if(xhttp.status == 200){
$(obj).innerHTML = xhttp.responseText;
}
else{
$(obj).innerHTML = "加载错误";}
}
};
xhttp.setRequestHeader("If-Modified-Since","0");
xhttp.send(null);
}

var u = "txlload/createnewitem.asp?rnd=" + new Date().getTime() + "&t=" + escape(v);
txl_request(u,"tip");//添加数据
var u2 = "txlload/load_team_list.asp?rnd=" + new Date().getTime(); txl_request(u2,"mylist");//再次请求 显示最新添加的数据

=============
这样的两次请求 在FF下不能即时显示第二次请求的内容 要刷新一次才可以
IE下没问题了 FF下清空私有数据后有时就可以了
请问这应如何解决啊 是不是因为用了一个xmlhttprequest对象啊
...全文
253 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
duanjianbo26 2007-10-08
  • 打赏
  • 举报
回复
请问楼主用ajax请求后返回的值是不是一样啊?
就比如我返回的是同一张图片但是图片的内容却变了,而在显示的时候却还是原来的图片
我怀疑是不是缓存的问题
pigcode 2007-05-21
  • 打赏
  • 举报
回复
去这看看吧

http://bbs.pigcode.com/index.asp?boardid=6
jarez 2007-05-21
  • 打赏
  • 举报
回复
异步的话,可以把第二次的调用放在第一次的回调中,形成一个ajax链
deninghe 2007-05-21
  • 打赏
  • 举报
回复
异步不能解决吗?
deninghe 2007-05-19
  • 打赏
  • 举报
回复
解决了 0-0
第二次请求加个定时器
setTimeout('txl_request(u2,"mylist")',1000);
adverse 2007-05-19
  • 打赏
  • 举报
回复
xhttp.open("GET",url,true);把里面的true改成false应该是可以的,最好是这样做。
另外根据处理的速度不同,setTimeout('txl_request(u2,"mylist")',1000);这个方法应该并不能保证一直好用。

52,797

社区成员

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

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