浏览器缓存url请求

来源:互联网 发布:java架构师考证 编辑:程序博客网 时间:2024/05/21 08:49

页面不断发http请求时,同一个请求URL,会被IE浏览器缓存,第二次及之后的请求都是直接从缓存中取结果,不会到server端处理请求。

解决方法:

    在发http请求时,在URL中加一个Random随机数做为请求参数,该随机数由当前系统时间产生:new Date().getTime(),当页面发请求时,由于每次的URL地址不同,所以IE会将它当作不同的请求处理,而不再从缓存中取。

例:

场景- jsp页面ajax发请求

1、不断发http请求:

setInterval("watchProgress()", 5000);    //每隔5秒调用watchProgress函数,直接到遇到 clearInterval()方法

2、ajax处理请求:

function watchProgress(){

$.ajax({

      url: "FileUploadAction.do?method=watchFileUploadProgress",

      contentType: "application/x-www-form-urlencoded; charset=UTF-8",     //表示客户端提交给服务器文本内容的编码方式 是URL编码,即除了标准字符外,每字节以双字节16

                                                                                                                                    //进制前加个“%”表示

      dataType : "JSON",

      data : {"timestamp" : new Date().getTime()},

      success: function(data) {

       //..............

       },

      error: function() {

      //...................

      }

});

}

0 0
原创粉丝点击