Ajax获取页面被缓存的解决方法

我是过路看热闹

我是过路看热闹

2016-02-19 11:29

下面图老师小编跟大家分享一个简单易学的Ajax获取页面被缓存的解决方法教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!
这样的情况是是为AJAX获取时先检查本机缓存,如果本机缓存已有相同内容,则不访问远端服务器。这样的操作倒是可以提高速度和减少服务器压力。但带来的弊端也是显而易见的。

为了解决这个问题。我们必须在获取页加上一个额外的参数。比较简单的方法是用一个随机数。

例子如下 

代码如下:

function idCheck() { //参数调用函数
var f = document.modify_form;
var book_num = f.book_num.value;
if(book_num=="") {
window.alert("图书编号不能为空");
f.book_num.focus();
return false;
}
//加一个随机数//////////////////////////////
var number = Math.random();
number = number * 1000000000;
number = Math.ceil(number);
//////////////////////////////////////////
send_request('get_book.php?book_num='+book_num+'&ranum='+number); // 后面的 “ranum=number”是额外加的
}

这样就可以避免相同参数页面返回同样内容的问题了。

还有一种方法为在被调用的页面中,加入代码,禁止本页面被缓存

htm网页
代码如下:

metahttp-equiv="pragma"content="no-cache"
metahttp-equiv="cache-control"content="no-cache,must-revalidate"
metahttp-equiv="expires"content="wed,26feb199708:21:57gmt"

或者metahttp-equiv="expires"content="0"
asp网页
代码如下:

response.expires=-1
response.expiresabsolute=now()-1
response.cachecontrol="no-cache"

php网页
代码如下:

header("expires:mon,26jul199705:00:00gmt");
header("cache-control:no-cache,must-revalidate");
header("pragma:no-cache");

jsp网页
代码如下:

response.addHeader("pragma", "no-cache");
response.addHeader("cache-control", "no-cache,must-revalidate");
response.addHeader("expires", "0");

展开更多 50%)
分享

猜你喜欢

Ajax获取页面被缓存的解决方法

Web开发
Ajax获取页面被缓存的解决方法

AJAX 缓存问题的两种解决方法(IE)

Web开发
AJAX 缓存问题的两种解决方法(IE)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

AJAX防止页面缓存的代码

Web开发
AJAX防止页面缓存的代码

ajax乱码解决方法

Web开发
ajax乱码解决方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

ajax缓存解决123

Web开发
ajax缓存解决123

Ajax中浏览器的缓存问题解决方法

Web开发
Ajax中浏览器的缓存问题解决方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

IOS之构造方法与自定义构造方法的区别与实现

IOS之构造方法与自定义构造方法的区别与实现

Nib文件是什么?Nib文件打开方法

Nib文件是什么?Nib文件打开方法
下拉加载更多内容 ↓