Ajax不运行解决一例:动态页的客户端网页缓存

王志勇 发表于 2008年11月04日 12:54

在做注册程序验证码用户名是否可用、在线上传文件、删除文件、投票程序等不需要刷新网页即可出现结果的程序的时候,可能需要用到Ajax。其原理是JavaScript通过onChange、onClick、onMouseOut等事件取读网页当前的一些用户操作的数据,然后将这个数据传送给一个动态网页进行处理。

但有时候,这个动态网页并不运行。我以前曾遇到这个情况,当时解决了,就是给这个动态网页写入不缓存于客户端的语句。前天再次遇到这个情况,动态页有时运行,有时不运行。昨天试验了很多次,再次解决问题的时候,想起了以前曾遇到过这个情况。

Ajax调用的动态页,应该要让这个动态页不载入客户端的缓存。同理,Blog的Trackback程序,经常无法接收信息,可以尝试在Trackback程序的动态页写入使其不写入缓存的语句。

2条评论:
1   Saturn 2008-11-05 11:12
一般我会在动态页的传入参数那里加个随机字符串,保证动态页不被缓存起来,防止输出相同的内容,Ajax失效。
比如:+math.random()
2   Saturn 2009-05-25 04:26
Trackback来自 《防止AJAX动态结果在前端页面缓存的方法》

要解决数据被缓存,大概有两种做法。

第一种,是在客户端进行,在AJAX发送请求到后台数据处理页面的URL上加一个随机字符串即可。这样一来,浏览器会认为AJAX发出的HTTP请求每次都不同(URL不同),从而每次都重新请求。
另外一种是在服务器端进行。具体做法是修改HTTP头信息,手动设置让其过期。

发表评论:
名字: (*必填)
博客: (可省)

正文:

  记住信息?

直接发送Trackback到此文章

说明:本评论系统不支持HTML代码。(您的留言需要审核,审核规则请见这里。)

王志勇:1980-09-26 (40周岁)
程序设计,前端设计。

版权声明:本博客所有文章,均符合原创的定义,禁止转载,违者将必究;正确的方法是贴原文的标题和网址即可。

与此相关的链接
自由勇专栏

Blog存档 Archives

2020年10月
2020年09月(14)
2020年08月(14)
2020年07月(14)
2020年06月(16)
2020年05月(13)
2020年04月(18)
2020年03月(14)
2020年02月(15)
2020年01月(16)
2019年12月(11)
2019年11月(26)
2019年10月(25)
2019年09月(30)
2019年08月(10)
2019年07月(29)
2019年06月(30)
2019年05月(26)
2019年04月(30)
2019年03月(30)
2019年02月(30)
2019年01月(30)
2018年12月(30)
2018年11月(30)
2018年10月(30)
2018年09月(17)
2016年-2017年(9)
2014年06月-09月(10)
2013年 +

2012年 +
2011年 +
2010年 +
2009年 +
2008年 +
2007年 +
2006年 +
2005年09月(4)

Copyright © 2006-2020 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue