如何防止在Internet Explorer中缓存jQuery Ajax请求?
你可以使用$.ajaxSetup()禁用全局缓存,例如:
$.ajaxSetup({ cache: false });
这将在发出请求时向查询字符串追加时间戳。要关闭特定$.ajax()调用的缓存,在本地设置cache: false,如下所示:
$.ajax({
cache: false,
//other options...
});
如果你设置了唯一的参数,那么缓存不工作,例如:
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
以下是一个回答建议:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
这个想法是在ajax查询中添加一个参数,例如包含当前日期和时间,这样浏览器就不能缓存它。
看一下链接,解释得很清楚。
你可以这样定义它:
let table = $('.datatable-sales').DataTable({
processing: true,
responsive: true,
serverSide: true,
ajax: {
url: "<?php echo site_url("your url"); ?>",
cache: false,
type: "POST",
data: {
<?php echo your api; ?>,
}
}
或者像这样:
$.get({url: <?php echo json_encode(site_url('your api'))?>, cache: false})
希望能有所帮助
推荐文章
- 用jQuery检查Internet连接是否存在?
- 如何使用滑动(或显示)函数在一个表行?
- 如何用JavaScript截屏一个div ?
- 如何检测“搜索”HTML5输入的清除?
- 当元素从DOM中移除时触发事件
- Ajax成功事件不工作
- 引导下拉与Hover
- jQuery的.bind() vs. on()
- jQuery .live() vs .on()方法,用于在加载动态html后添加单击事件
- 事件。returnValue已弃用。请使用标准的event.preventDefault()
- 如何处理模式关闭事件在Twitter引导?
- 防止浏览器加载拖放文件
- 清除输入文本内的图标
- jQuery为ajax请求返回“parsererror”
- 如何在代码中触发jQuery更改事件