【问题标题】:jQuery datatables - Uncaught TypeError: a.charAt is not a functionjQuery 数据表 - 未捕获的类型错误:a.charAt 不是函数
【发布时间】:2023-04-02 20:20:01
【问题描述】:

我正在尝试将 datatables jQuery 插件集成到我通过 PHP 生成的表中。

使用搜索和排序选项,表格布局和一切看起来都很好,但是当单击表格标题中的任何排序选项时,我遇到了这个错误

未捕获的类型错误:a.charAt 不是函数

以前有人遇到过这个问题吗?任何帮助将不胜感激。

【问题讨论】:

  • 也许显示一些代码?
  • 以及导致错误的文件是什么 - 我猜它出现在控制台中。

标签: php jquery datatables


【解决方案1】:

与 map 函数处理空字符串的变化有关的数据表错误。 在我看到的一些代码中修复。

在我的情况下,快速解决方法是在数据表代码中将 match(/"[^"]+"|[^ ]+/g)||'' 替换为 match(/"[^"]+"|[^ ]+/g)||[''](空值作为数组)。

【讨论】:

    【解决方案2】:

    这个问题(至少)在 Datatables 1.10.5 上存在,但在 1.10.16 上不再存在,因此已经修复。

    【讨论】:

      【解决方案3】:

      这是因为您在同一页面中加载了多个 jQuery,或者您在加载 jQuery 之前加载了数据表。

      解决问题:

      • 确保只加载了 1 个 jQuery
      • 先加载 jQuery,然后加载数据表(顺序很重要)

      【讨论】:

      • 我检查了订单,看起来不错,jQuery是在加载数据表之前加载的。
      • 您使用的是哪个版本的 jquery?
      • jQuery v1.12.4
      • 您使用的是哪个数据表版本?您能否粘贴代码以显示它是如何加载的?
      • 我在使用 jquery-3.1.1.js 时收到此错误 - 我在使用 jquery-2.1.3.js 时没有收到此错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      相关资源
      最近更新 更多