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 (38周岁)
程序设计,前端设计。

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

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

Blog存档 Archives

2018年11月
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-2018 auiou.com All rights reserved.
此Blog程序由王志勇编写 已经发布在Arsue