小编典典

使用ajax时如何清除缓存数据?

ajax

我正在使用Ajax根据某些ID从服务器检索数据,以执行自动建议功能。但是,当我提交表单并更新数据库时,“自动建议”字段应该不再包含此ID的任何内容,但仍会从其缓存中检索数据。有谁知道如何清除缓存并在每次按下按钮时发出Ajax发送请求以从服务器获取最新数据?请帮助我整个星期都坚持不下去,找不到解决方案。

例如:当ID字段为00001时,自动建议字段将为1,2,3。在我提交表单并更新数据库后,当我再次搜索00001时,它不应该包含任何内容,但是包含内容,它仍将数据作为1,2,3缓存在建议字段中…

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
 xmlhttp=new XMLHttpRequest();
}
else
 {// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
var data=xmlhttp.responseText;
alert(data);

}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();

阅读 355

收藏
2020-07-26

共1个答案

小编典典

我曾经有过这个问题。您可能可以在服务器设置中修复此问题。服务器要做的就是获取服务器请求,构建答案,然后再次执行相同的请求时,它将发送与之前构建的响应相同的响应。

为了轻松避免此问题,我添加了一个额外的请求参数(UID)。所以:

xmlhttp.open("GET","gethint.php?q="+str+**"?something"=RANDOMGUID**,true);

这样,您总是有一个独特的要求。

2020-07-26