TypeError: jQuery(...).dataTable 不是 Grails 中的函数

Posted

技术标签:

【中文标题】TypeError: jQuery(...).dataTable 不是 Grails 中的函数【英文标题】:TypeError: jQuery(...).dataTable is not a function in Grails 【发布时间】:2012-11-29 10:22:21 【问题描述】:

我正在尝试在 grails 2.1 上安装 jquery 数据表,但直到现在都没有运气。我安装了 JQuery、JQuery-ui 和 jquery-datatable 插件。将以下代码添加到 main.gsp:

<g:javascript library="jquery" plugin="jquery" />

        <r:require module="application"/>
        <jqui:resources />

我认为这段代码:

  <jqDT:resources />
  <g:javascript>
     $(document).ready(function() 

        jQuery('#demo').dataTable(
           sScrollY: '70%',
           bProcessing: true,
           bServerSide: true,
           sAjaxSource: '$request.contextPath + '/person/dataTablesData'' ,
           sPaginationType: "full_numbers",
           aLengthMenu: [[100, 500, 1000, 5000, -1], [100, 500, 1000, 5000, "All"]],
           iDisplayLength: 500
        );
     );
  </g:javascript>

但是当我尝试渲染它时,我得到了以下异常:

TypeError: jQuery(...).dataTable is not a function

我该如何解决这个问题?

【问题讨论】:

unrelated : is not sAjaxSource 应该类似于 sAjaxSource: '$request.contextPath'+'/person/dataTablesData' 检查数据表的javascript是否正确链接,并在jquery之后。 数据表 javascript 可能不包含在 jQuery 之后。 仍然有同样的错误 我遇到了同样的问题,看到这个帖子,在这里解决了..***.com/questions/7344047/… 【参考方案1】:

只是猜测,但可能是您使用的是 jQuery 2,它从以前的版本中删除/替换了一些功能。试试 jQuery 1.10.1 看看有没有改进。

【讨论】:

以上是关于TypeError: jQuery(...).dataTable 不是 Grails 中的函数的主要内容,如果未能解决你的问题,请参考以下文章

JQuery UI'可拖动不是函数'未捕获的TypeError

jQuery 修复“未捕获的 TypeError:$ 不是函数”错误 [重复]

Worklight - 带有 jquery 1.10.2 的 jquery mobile 1.3.1 - TypeError: $.mobile 未定义

jQuery $.ajax 和 jQuery UI 对话框:未捕获的 TypeError:非法调用?

TypeError jQuery offset().top 未定义

jQuery DataTables 错误 - TypeError:无法读取未定义的属性“fnInit”