------------------------------------------------------------------
function createXMLHttpRequest()
{ var xmlHttp=null;
if(window.ActiveXObject)
{
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
return xmlHttp;
}
function funadd()
{
ajax=createXMLHttpRequest();
var url = "for.php";
var f = document.myform;
var u_id = f.uid.value;
var u_Content = f.replyContent.value;
var poststr = "uid="+u_id+"&u_Content="+u_Content+"&t="+Math.random()
ajax.onreadystatechange = addChange;
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.setRequestHeader("Cache-Control","no-cache");
ajax.setRequestHeader("If-Modified-Since","0");
ajax.send(poststr);
}
function addChange()
{
if (ajax.readyState == 4)
{
if(ajax.status == 200||ajax.status == 0)
{
document.getElementById('msg').innerHTML = ajax.responseText;
}
else
{
alert("Sorry,服务器繁忙,请刷新页面稍后再试!");
}
}
}
/--------------------------------------------------------------------------------
for.php
<?php
header('Content-Type:text/html;charset=utf-8');
header("Expires: Thu, 01 Jan 1970 00:00:01 GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
....................................
?>
问题:ie下插入数据有时成功 有时失败 特别是前两次基本失败 只有刷新才能显示数据 其它浏览器没有问题 这明显是ie的缓存问题 搞了一星期多都搞不定 精神接近崩溃 就差砸电脑了 望赐教.谢谢!
12 个解决方案
#1
var ajax=null;
//这里漏了
function funadd()
{
ajax=createXMLHttpRequest();
var url = "for.php";
var f = document.myform;
var u_id = f.uid.value;
var u_Content = f.replyContent.value;
var poststr = "uid="+u_id+"&u_Content="+u_Content+"&t="+Math.random()
ajax.onreadystatechange = addChange;
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.setRequestHeader("Cache-Control","no-cache");
ajax.setRequestHeader("If-Modified-Since","0");
ajax.send(poststr);
}
//这里漏了
function funadd()
{
ajax=createXMLHttpRequest();
var url = "for.php";
var f = document.myform;
var u_id = f.uid.value;
var u_Content = f.replyContent.value;
var poststr = "uid="+u_id+"&u_Content="+u_Content+"&t="+Math.random()
ajax.onreadystatechange = addChange;
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.setRequestHeader("Cache-Control","no-cache");
ajax.setRequestHeader("If-Modified-Since","0");
ajax.send(poststr);
}
#2
用jquery 吧 一句代码的事情...
#3
用jquery 吧 一句代码的事情...
------------------------------------------------------
貌似不是答案 想想也有道理 我很纠结啊
------------------------------------------------------
貌似不是答案 想想也有道理 我很纠结啊
#4
js太麻烦,Jquery一句代码搞定
#5
Math.random()*1000000
请求URL后面的随机数改成这个
请求URL后面的随机数改成这个
#6
jq....回复内容太短了
#7
parseInt(Math.random()*1000000)
#8
Math.random()*1000000
加上这个也不行 谢谢各位的热心回答 现在呈现一个规律 第一次插入数据页面不能显示 第二次插入数据显示第一次的数据 第三次插入数据直接把第二次的数据覆盖掉了 从第四次插入数据开始显示正常
下午看了看jquery 实在不行只能用改改看 不过放弃ajax太可惜了 这个刚摸着一点门道
加上这个也不行 谢谢各位的热心回答 现在呈现一个规律 第一次插入数据页面不能显示 第二次插入数据显示第一次的数据 第三次插入数据直接把第二次的数据覆盖掉了 从第四次插入数据开始显示正常
下午看了看jquery 实在不行只能用改改看 不过放弃ajax太可惜了 这个刚摸着一点门道
#9
很遗憾!
虽然放弃有时是必要的
但也就放弃了到达“*王国”的可能性!
虽然放弃有时是必要的
但也就放弃了到达“*王国”的可能性!
#10
版主说*,*值几个钱啊,按我的理解,你精通一门还不如熟练多门技术,艺多不压身啊,jquery是一门
必修的技术,按楼主和版主的意思,貌似选择jquery是不得已而为之的,
必修的技术,按楼主和版主的意思,貌似选择jquery是不得已而为之的,
#11
var url = "for.php";
随机参数加到url后边;
随机参数加到url后边;
#12
no, no, no, 基于当时发明js的人思想上受限制, 所以设计出这么烂的语法,
如果是今天, 设计js的人知道jquery如此写起来是这么简单, 肯定后悔当初为什么自己设计js这门语言时要把语法弄得这么复杂。
语言这种东西是人为的, 基于设计者的意识, 但可以写起来很优雅, 也可以写起来很烂, 像js中的xml, 当初设计这个没考虑到今天的ajax, 所以没封装好, 新手一遇到这问题就崩。。。
所以建议楼主用jquery....
#1
var ajax=null;
//这里漏了
function funadd()
{
ajax=createXMLHttpRequest();
var url = "for.php";
var f = document.myform;
var u_id = f.uid.value;
var u_Content = f.replyContent.value;
var poststr = "uid="+u_id+"&u_Content="+u_Content+"&t="+Math.random()
ajax.onreadystatechange = addChange;
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.setRequestHeader("Cache-Control","no-cache");
ajax.setRequestHeader("If-Modified-Since","0");
ajax.send(poststr);
}
//这里漏了
function funadd()
{
ajax=createXMLHttpRequest();
var url = "for.php";
var f = document.myform;
var u_id = f.uid.value;
var u_Content = f.replyContent.value;
var poststr = "uid="+u_id+"&u_Content="+u_Content+"&t="+Math.random()
ajax.onreadystatechange = addChange;
ajax.open("POST", url, true);
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
ajax.setRequestHeader("Cache-Control","no-cache");
ajax.setRequestHeader("If-Modified-Since","0");
ajax.send(poststr);
}
#2
用jquery 吧 一句代码的事情...
#3
用jquery 吧 一句代码的事情...
------------------------------------------------------
貌似不是答案 想想也有道理 我很纠结啊
------------------------------------------------------
貌似不是答案 想想也有道理 我很纠结啊
#4
js太麻烦,Jquery一句代码搞定
#5
Math.random()*1000000
请求URL后面的随机数改成这个
请求URL后面的随机数改成这个
#6
jq....回复内容太短了
#7
parseInt(Math.random()*1000000)
#8
Math.random()*1000000
加上这个也不行 谢谢各位的热心回答 现在呈现一个规律 第一次插入数据页面不能显示 第二次插入数据显示第一次的数据 第三次插入数据直接把第二次的数据覆盖掉了 从第四次插入数据开始显示正常
下午看了看jquery 实在不行只能用改改看 不过放弃ajax太可惜了 这个刚摸着一点门道
加上这个也不行 谢谢各位的热心回答 现在呈现一个规律 第一次插入数据页面不能显示 第二次插入数据显示第一次的数据 第三次插入数据直接把第二次的数据覆盖掉了 从第四次插入数据开始显示正常
下午看了看jquery 实在不行只能用改改看 不过放弃ajax太可惜了 这个刚摸着一点门道
#9
很遗憾!
虽然放弃有时是必要的
但也就放弃了到达“*王国”的可能性!
虽然放弃有时是必要的
但也就放弃了到达“*王国”的可能性!
#10
版主说*,*值几个钱啊,按我的理解,你精通一门还不如熟练多门技术,艺多不压身啊,jquery是一门
必修的技术,按楼主和版主的意思,貌似选择jquery是不得已而为之的,
必修的技术,按楼主和版主的意思,貌似选择jquery是不得已而为之的,
#11
var url = "for.php";
随机参数加到url后边;
随机参数加到url后边;
#12
no, no, no, 基于当时发明js的人思想上受限制, 所以设计出这么烂的语法,
如果是今天, 设计js的人知道jquery如此写起来是这么简单, 肯定后悔当初为什么自己设计js这门语言时要把语法弄得这么复杂。
语言这种东西是人为的, 基于设计者的意识, 但可以写起来很优雅, 也可以写起来很烂, 像js中的xml, 当初设计这个没考虑到今天的ajax, 所以没封装好, 新手一遇到这问题就崩。。。
所以建议楼主用jquery....