Ajax清除所选数据的缓存

Posted

技术标签:

【中文标题】Ajax清除所选数据的缓存【英文标题】:Ajax clear cache of selected data 【发布时间】:2020-07-27 06:08:24 【问题描述】:

我在 Arcgis javascript 中使用 ajax(如果您熟悉,我只是告诉您我使用它,没关系)来选择一些数据并将其显示在模式窗口中,但我有问题,例如我点击了地图上的几个特征(例如 3 个特征),每次点击我都会得到不同的信息,但是如果我一次又一次点击信息按钮,即使我在地图上选择了不同的特征,它也会一一显示这些选定的特征,它会存储数据并且当我继续单击并从地图获取信息时不显示正确的信息。

我在 $.ajax 中使用 'cache: false' 但它不起作用。

请帮忙,我检查了这个article,但没有帮助。

这是我使用的一段代码

    $(document).on('click', '#vf', function () // 
  
   var folder_name = 'inv_images/' + graphic.attributes.Wis_invent_N;  
   var action = "fetch_files";
   $.ajax( 
       url: "action.php",
       method: "POST",
       data:
         action:action, folder_name:folder_name,
         ,
       cache: false,
       success: function(data)
       
           $('#file_list').html(data);
           $('#filelistModal').modal('show'); 
         
      )
   );
);

【问题讨论】:

【参考方案1】:

如果是浏览器缓存了 ajax 请求(例如 IE 会这样做),那么您可以通过向 url 添加时间戳来更改实际请求:

...
   $.ajax( 
       url: "action.php?t=" + new Date().getTime(),
...

后端应该忽略额外的 t 参数,但您的浏览器认为它是不同的 url,因此不使用缓存的响应。

【讨论】:

以上是关于Ajax清除所选数据的缓存的主要内容,如果未能解决你的问题,请参考以下文章

如何清除火狐浏览器历史记录和缓存,在哪设置

Bootstrap-modal Ajax弹窗传值缓存怎么清除

关于IE下的页面缓存和Ajax请求问题

高分求助:js缓存问题,急!

清除缓存后 IE10/IE11 Abort Post Ajax 请求出现错误“网络错误 0x2ef3”

如何在Nodejs中使用缓存