最近做移动端的项目里面有个功能是要把获取到的手机验证码输入,但是测试人员反馈说每次获取新的验证码要输入时,总会提示上一次输入的,这要是一般的登陆页面输入框算是很友好了,但是对于验证码肯定是有问题的,仔细想想应该是缓存的问题,初开始我再网上查的几种清理缓存的方法分别是:
1、页面内容
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Cache" content="no-cache">
2、清理form表单的临时缓存
用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下:
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
beforeSend :function(xmlHttp){ xmlHttp.setRequestHeader("If-Modified-Since","0"); xmlHttp.setRequestHeader("Cache-Control","no-cache"); }, success:function(response){ //操作 } async:false });
3、直接用cache:false,
$.ajax({
url:'www.haorooms.com',
dataType:'json',
data:{},
cache:false,
ifModified :true ,
success:function(response){ //操作 } async:false });
上面的基本都是网上查找的有效方法,,但是我要记录的是一种最简单有效的:
<input type="text" autocomplete="off">
input元素默认的autocomplete属性值是on ,意思是自动完成,目的是方便用户,改为off后就关闭这个功能,我在加上这个属性之前安卓上是没有缓存的,但是ios上有,加了后很好的解决了这个问题