ajax 缓存 问题 requestheader
作者:
最近刚刚遇到一个问题是这样的,我的treeview点击结点显示地图要素是通过prototype的ajax实现的
复制代码 代码如下:
var paras="ajaxFlag=getMarkerIDs";
var myAjax=new Ajax.Request(
"AddInfoHandler.ashx",
{method:'get',parameters:paras,onComplete:showGetMarkerIDsResponse}
);
因为我有一个切换数据库的操作,第一次进数据库A的时候,列表加载正确,点击结点(ajax)地图显示A数据,但点击ie后退再进入数据库B的treeview,列表加载正确(加载列表不是ajax), 点击结点地图显示的数据却还是A的数据(ajax),我在AddInfoHandler.ashx设置断点,发现再次进行上面操作时候进A数据库断点命中,而进B数据库竟然没进断点,但是我确实很奇怪,没进页面竟然ajax也有返回数据,并且跟上一次一样,应该是用的缓存机制。 最后网上查到资料更改如下:
复制代码 代码如下:
var myAjax=new Ajax.Request(
"AddInfoHandler.ashx",
{method:'get',requestHeaders: ['Cache-Control','no-cache','If-Modified-Since','0'],parameters:paras,onComplete:showGetMarkerIDsResponse}
);
下面的可以参考以前发布的文章
https://www.jb51.net/article/22074.htm
response.setHeader参数、用法的介绍
详细出处参考:https://www.jb51.net/article/16437.htm