做项目的时候遇到一个问题:
上传文件以后,相同的地址,第一次加载没有问题,当你操作次数过快,上传次数过多时,后面的图片会出现加载不到的情况,浏览器加载依旧是上一个,或者更早之前的图片。
此问题出现原因:
这涉及到浏览器缓存规则的问题。当你第二次或多次请求同一地址时,浏览器会加一个If-Modified-Since参数,记录上次请求的文件的最后修改时间(只精确到秒),web服务器收到请求后发现有头If-Modified-Since 则与被请求资源的当前最后修改时间进行对比,
如果时间一致,那么返回HTTP状态码304(不返回文件内容),客户端接到之后,就直接把本地缓存文件显示到浏览器中。如果时间不一致,就返回HTTP状态码200和新的文件内容,客户端接到之后,会丢弃旧文件,把新文件缓存起来,并显示到浏览器中。这时候如
果你是操作过快的话,就会出现没有加载第二次的上传文件的问题。
解决方法:
在请求地址后加个随机数的参数 例如:“http://offlintab.firefoxchina.cn/static/img/search/baidu_web.png?r=”+Math.Random();
次方法同样适用与iframe等..
原标题:重新上传图片后 地址不变 浏览器加载不到的问题
关键词:上传