ajax刷新会显示重复的数据

优客助手 2013-05-20 04:54:30

function shuaxin() {
jQuery.post("../ajax/shuaxin.ashx",
function (date, statue) {
if (statue == "success") {
$("#xianshi").append(date);
}
else {
alert(date + "ds");
}
});
setTimeout("shuaxin()", 2000);
}
shuaxin();
代码没错,可以运行。就是会一直重复数据,求解决
...全文
463 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
Assassin_ 2013-05-27
  • 打赏
  • 举报
回复
引用 21 楼 A010272354 的回复:
[quote=引用 20 楼 feng1366259807 的回复:] [quote=引用 8 楼 A010272354 的回复:] [quote=引用 7 楼 starfd 的回复:] setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
这个是我理解错了,不过用$("#xianshi").html(date); 刷新会闪[/quote] 如果你想他不闪动 那就把#xianshi的容器固定大小啊。[/quote] <div id="div1" style="overflow-x:auto; overflow-y:scroll; width:700px; height:300px;"> <span id="xianshi" runat="server" style="width:500px; height: 280px; background-color:Green;" ></span> </div>固定了还是会[/quote] 那就改成把数据一条一条的append 进去 。 html 会直接替换整个数据对象. 按理说客户端是观察不到"闪"的 。除非你的数据量很大 。或者服务器响应不及时
风2013 2013-05-22
  • 打赏
  • 举报
回复
引用 8 楼 A010272354 的回复:
[quote=引用 7 楼 starfd 的回复:] setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
这个是我理解错了,不过用$("#xianshi").html(date); 刷新会闪[/quote] 如果你想他不闪动 那就把#xianshi的容器固定大小啊。
joyhen 2013-05-22
  • 打赏
  • 举报
回复
引用 18 楼 A010272354 的回复:
[quote=引用 11 楼 Joyhen 的回复:] [quote=引用 10 楼 xiaopeng0504 的回复:] jQuery.post("../ajax/shuaxin.ashx",rd: Math.random(),
+1 页级缓存,加个时间戳或许更好,pdate:(new Date().getTime())[/quote] 这个跟url加个随机数的原理一样?[/quote]一样
优客助手 2013-05-22
  • 打赏
  • 举报
回复
引用 11 楼 Joyhen 的回复:
[quote=引用 10 楼 xiaopeng0504 的回复:] jQuery.post("../ajax/shuaxin.ashx",rd: Math.random(),
+1 页级缓存,加个时间戳或许更好,pdate:(new Date().getTime())[/quote] 这个跟url加个随机数的原理一样?
优客助手 2013-05-22
  • 打赏
  • 举报
回复
引用 12 楼 yumen3501 的回复:
改成这样 function shuaxin() { jQuery.post("../ajax/shuaxin.ashx", function (date, statue) { if (statue == "success") { $("#xianshi").html(date); } else { alert(date + "ds"); } }); setTimeout("shuaxin()", 2000); } shuaxin();
这个可以,不过会闪
优客助手 2013-05-22
  • 打赏
  • 举报
回复
引用 14 楼 mqkfc123 的回复:
缓存
cache:false禁用了
优客助手 2013-05-22
  • 打赏
  • 举报
回复
引用 20 楼 feng1366259807 的回复:
[quote=引用 8 楼 A010272354 的回复:] [quote=引用 7 楼 starfd 的回复:] setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
这个是我理解错了,不过用$("#xianshi").html(date); 刷新会闪[/quote] 如果你想他不闪动 那就把#xianshi的容器固定大小啊。[/quote] <div id="div1" style="overflow-x:auto; overflow-y:scroll; width:700px; height:300px;"> <span id="xianshi" runat="server" style="width:500px; height: 280px; background-color:Green;" ></span> </div>固定了还是会
joyhen 2013-05-21
  • 打赏
  • 举报
回复
引用 10 楼 xiaopeng0504 的回复:
jQuery.post("../ajax/shuaxin.ashx",rd: Math.random(),
+1 页级缓存,加个时间戳或许更好,pdate:(new Date().getTime())
小路子的宝 2013-05-21
  • 打赏
  • 举报
回复
jQuery.post("../ajax/shuaxin.ashx",rd: Math.random(),
  • 打赏
  • 举报
回复
引用 8 楼 A010272354 的回复:
[quote=引用 7 楼 starfd 的回复:] setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
这个是我理解错了,不过用$("#xianshi").html(date); 刷新会闪[/quote] 你可以在ajax请求开始时出个loading图片,遮盖也行,替换#xianshi的html也行,然后等success了再把数据html进去,这时候因为中间有过度,所以闪可以接受
笑看風雲丶 2013-05-21
  • 打赏
  • 举报
回复
jQuery.post("../ajax/shuaxin.ashx"+new Date.valueOf()),
Jdragon 2013-05-21
  • 打赏
  • 举报
回复
缓存
小Q不系萌小Q- 2013-05-21
  • 打赏
  • 举报
回复
引用 10 楼 xiaopeng0504 的回复:
jQuery.post("../ajax/shuaxin.ashx",rd: Math.random(),
up+
Assassin_ 2013-05-21
  • 打赏
  • 举报
回复
改成这样 function shuaxin() { jQuery.post("../ajax/shuaxin.ashx", function (date, statue) { if (statue == "success") { $("#xianshi").html(date); } else { alert(date + "ds"); } }); setTimeout("shuaxin()", 2000); } shuaxin();
优客助手 2013-05-20
  • 打赏
  • 举报
回复
引用 7 楼 starfd 的回复:
setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
这个是我理解错了,不过用$("#xianshi").html(date); 刷新会闪
  • 打赏
  • 举报
回复
setTimeout("shuaxin()", 2000); 这个只是2秒后执行shuaxin(),跟慢有什么关系??
优客助手 2013-05-20
  • 打赏
  • 举报
回复
引用 4 楼 liuchaolin 的回复:
$("#xianshi").append(date); 你用append当然会了 $("#xianshi").html(date);
加了 setTimeout("shuaxin()", 2000);这句话,网页运行的很慢,这个怎么解决呢
zhang_yancool1234 2013-05-20
  • 打赏
  • 举报
回复
success的时候,先清空一下,然后再append. $("#xianshi").empty(); $("#xianshi").append(date);
md5e 2013-05-20
  • 打赏
  • 举报
回复
$("#xianshi").append(date); 你用append当然会了 $("#xianshi").html(date);
blue_apple2006 2013-05-20
  • 打赏
  • 举报
回复
jquery 好像有cache这个选项,你设为false试试。
加载更多回复(2)

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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