AJAX产生原因:
本质是浏览器缓存问题,浏览器为了提高更好的交互方式,在其内部缓存了以访问的页面的信息,当再一次对同以个URL请求时,就不提交 而使用缓存数据。
解决AJAX缓存方法:
1:禁用浏览器缓存(这样会使得浏览器浏览网页的速度变慢)
2:只发送post请求而不发送get请求
3:在请求地址中加入无意义的参数使得每次请求地址不一样,如:”?timestamp=”+new Date().getTime();
url = 目标地址 + 请求参数;
function checkParam(url){ if(url.indexOf() != -1){ return url + “&t=” + new Date().getTime(); }else{ Return url + “?t=” + new Date().getTime(); } }
4: 在服务器端添加回应头内容,指明不实用缓存
request.addHeader(“pragma”,”no-cache”); request.addHeader(“cache-control”,”no-cache”); request.addHeader(“expires”,”0”);
5.在ajax 发送请求前加上:
xmlHttpRequest.setRequestHeader("if-Modified-Since","0");
本文介绍了AJAX产生的浏览器缓存问题及其原因,并提供了五种解决AJAX缓存的方法,包括禁用缓存、使用POST请求、添加时间戳参数、设置HTTP头部等。
1798

被折叠的 条评论
为什么被折叠?



