如何避免 DataTables ajax 请求中的额外随机数

Posted

技术标签:

【中文标题】如何避免 DataTables ajax 请求中的额外随机数【英文标题】:How to avoid additional random number in DataTables ajax request 【发布时间】:2018-05-02 08:36:03 【问题描述】:

嗨,我的数据表 ajax 调用如下,

 $(document).ready(function () 

        $('#example').DataTable(
            "ajax": '/api/get_requests'
        );

所以我期待调用我的后端 django 服务器,如下所示,

http://localhost:8080/api/get_requests/

但它最终会生成一个额外的随机数,并按如下方式发送调用,我的 django 服务器显示错误的 url 并给出 404 错误

http://localhost:8080/api/get_requests/?_=1511021359038

如何强制数据表 ajax 调用不发送额外的随机数

【问题讨论】:

你确定 ajax 是正确的,顺便说一下你硬编码 URL 的原因 How do I integrate Ajax with Django applications?的可能重复 我没有硬编码IP地址(localhost),URL是django处理的请求url(/api/get_requests/)。现在问题不在于集成。在任何请求期间,它都会在最后发送一个额外的随机数 【参考方案1】:

它不是随机数而是时间戳,上面翻译成Sat Nov 18 2017 17:09:19 GMT+0100 (CET)

这就是 jQuery AJAX 缓存的工作原理,它在请求中添加时间戳以欺骗浏览器尝试缓存所有内容。我相信

$('#example').DataTable(
  ajax: 
    cache: false,
    url: '/api/get_requests'
  
);

将解决问题。

【讨论】:

以上是关于如何避免 DataTables ajax 请求中的额外随机数的主要内容,如果未能解决你的问题,请参考以下文章

如何停止 DataTables 实例已启动的所有当前正在进行的 Ajax 查询?

DataTables - 当一个新请求开始时终止 ajax 请求

如何使用 ajax-datatables-rails 理解 Rails 中的包含

带有 ajax 的 DataTables 1.10.6,为第 0 行请求未知参数 0

将 HTML 表单与 Datatables ajax 请求相结合

使用 AJAX 的 DataTables 中的子行