如何防止在Internet Explorer中缓存jQuery Ajax请求?
当前回答
如果你设置了唯一的参数,那么缓存不工作,例如:
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
其他回答
这是一个老帖子,但如果IE给你带来麻烦。将GET请求更改为POST, IE将不再缓存它们。
我花了太长时间才明白这是怎么回事。希望能有所帮助。
你可以这样定义它:
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})
希望能有所帮助
以下是一个回答建议:
http://www.greenvilleweb.us/how-to-web-design/problem-with-ie-9-caching-ajax-get-request/
这个想法是在ajax查询中添加一个参数,例如包含当前日期和时间,这样浏览器就不能缓存它。
看一下链接,解释得很清楚。
如果你设置了唯一的参数,那么缓存不工作,例如:
$.ajax({
url : "my_url",
data : {
'uniq_param' : (new Date()).getTime(),
//other data
}});
Cache-Control: no-cache, no-store
这两个头值可以在IE和Firefox上组合以获得所需的效果
推荐文章
- 可以在setInterval()内部调用clearInterval()吗?
- 无法读取未定义的属性“msie”- jQuery工具
- jQuery:执行同步AJAX请求
- jQuery表格排序
- 如何禁用文本选择使用jQuery?
- 如何停止事件冒泡复选框点击
- Bootstrap抛出Uncaught错误:Bootstrap的JavaScript需要jQuery
- 如何删除和清除所有的本地存储数据
- 如何修改标签文本?
- 如何获得十六进制颜色值而不是RGB值?
- 如何将一个标题转换为jQuery的URL段塞?
- $(window).width()与媒体查询不一样
- AJAX请求中的内容类型和数据类型是什么?
- 如何打破_。在underscore.js中的每个函数
- 如何在jQuery中获得当前日期?