Javascript 加载后清除AJAX结果
我使用以下AJAX调用生成搜索建议:Javascript 加载后清除AJAX结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我使用以下AJAX调用生成搜索建议: $(".smart-suggestions").load('id-get-data.php?searchword=' + self.value); 搜索建议将根据用户的输入返回到“div”中。我想知道是否有一种方法可以使用javascript、jquery或ajax“清除”从ajax返回的数据?删除返回的结果。如果使用load可以附加时间来“愚弄”缓存机制 $(".smart-suggestions").load('id-get-data.php?sear
$(".smart-suggestions").load('id-get-data.php?searchword=' + self.value);
搜索建议将根据用户的输入返回到“div”中。我想知道是否有一种方法可以使用javascript、jquery或ajax“清除”从ajax返回的数据?删除返回的结果。如果使用
load
可以附加时间来“愚弄”缓存机制
$(".smart-suggestions").load('id-get-data.php?searchword=' + self.value +'&x=' +
(+new Date()));
如果使用
load
,则可以附加时间来“愚弄”缓存机制
$(".smart-suggestions").load('id-get-data.php?searchword=' + self.value +'&x=' +
(+new Date()));
您可以使用
$.ajax
发送请求,只需将缓存:false
添加到选项:
$.ajax({
url: 'id-get-data.php',
type: 'GET',
data: {
searchword: self.value
},
cache: false,
success: function(data) {
$('.smart-suggestions').html(data);
}
});
您可以使用
$.ajax
发送请求,只需将缓存:false
添加到选项:
$.ajax({
url: 'id-get-data.php',
type: 'GET',
data: {
searchword: self.value
},
cache: false,
success: function(data) {
$('.smart-suggestions').html(data);
}
});
“清除”是什么意思?例如,不想缓存它?是的,不想缓存它。请参阅-你说的“清除”是什么意思?例如,不想缓存它?是的,不想缓存它。请参阅-文档:“如果设置为false,它将强制浏览器不缓存请求的页面。将缓存设置为false还会附加一个查询字符串参数,”\u=[时间戳]“,指向URL。”(就像我的回答一样…)+1@gdoron:是的。我只是认为URL编码
self.value
会更干净。文档:“如果设置为false,将强制浏览器不缓存请求的页面。将cache设置为false还会将查询字符串参数“=[TIMESTAMP]”附加到URL。“(就像我的回答中一样…) +1@gdoron:是的。我只是认为URL编码self.value
会更干净。谢谢,这似乎是一个简单的解决方案。你能解释一下为什么/如何工作吗?@MHZ,当然可以,因为浏览器现在发送一个带有不同参数的新请求,所以他不能使用缓存。浏览器无法知道时间戳不是一个真正的参数,所以…它可以工作。在我的示例中,当用户将文本输入到输入字段时,我使用AJAX填充搜索建议。用户可以使用多个输入字段来生成搜索建议。一旦用户在输入字段a中生成搜索建议,然后单击输入字段B,输入字段a的结果仍然是a在清除之前,请等待几秒钟。清除缓存似乎并不能解决此问题,但是,知道原因吗?@MHZ,抱歉,我需要更多的上下文。尝试想象两个输入字段,a和B。输入“a”允许用户使用AJAX搜索项目id(当他们键入时).Input“B”允许用户使用AJAX(在键入时)搜索项目名称。当用户尝试通过在输入a中输入文本来搜索项目编号时,单击输入B尝试通过输入一些文本按项目名称搜索,第一次AJAX搜索(输入a)生成的数据在填充产品名称搜索结果之前仍会出现一段时间。谢谢,这似乎是一个简单的解决方案。您能解释一下为什么/如何工作吗?@MHZ,当然可以,它工作的原因是浏览器现在发送了一个带有不同参数的新请求,因此他无法使用缓存。浏览器无法知道时间戳不是缓存在我的示例中,当用户将文本输入到输入字段时,我使用AJAX填充搜索建议。用户可以使用多个输入字段来生成搜索建议。一旦用户在输入字段A中生成搜索建议,然后单击输入字段B,输入字段A的结果仍然显示为r清除前几秒钟。清除缓存似乎不能解决此问题,但是,知道原因吗?@MHZ,抱歉,我需要更多的上下文。尝试想象两个输入字段,a和B。输入“a”允许用户使用AJAX搜索项目id(当他们键入时)。输入“B”允许用户使用AJAX搜索项目名称(键入时)。当用户试图通过在输入a中输入文本来搜索项目编号,然后单击输入B,通过输入一些文本来尝试按项目名称搜索时,第一次AJAX搜索(输入a)生成的数据在填充产品名称搜索结果之前仍会出现一段时间。