我正在使用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();
我曾经有过这个问题。您可能可以在服务器设置中修复此问题。服务器要做的就是获取服务器请求,构建答案,然后再次执行相同的请求时,它将发送与之前构建的响应相同的响应。
为了轻松避免此问题,我添加了一个额外的请求参数(UID)。所以:
xmlhttp.open("GET","gethint.php?q="+str+**"?something"=RANDOMGUID**,true);
这样,您总是有一个独特的要求。