【发布时间】:2014-09-25 04:27:11
【问题描述】:
我试图在我的应用程序中使用示例 dataTables 表,但在使用标准的“zero configuration”初始化程序时遇到了异常。
- 异常是“Uncaught TypeError: undefined is not a function”
- JQuery 和 dataTables 在执行时都是存在的脚本。
- 我的 HTML 与上面提到的零配置页面上的示例 html 相同,只是我将 ID 更改为“网格”(如果有好处,可以提供完整的 HTML)。
这是我在 Chrome 开发者工具中的 js 截图:
注意:Grid.js 正在显示,Site.js 仅控制对 _Layout 页面的更改以格式化导航栏。
编辑:要加载 jquery 和 dataTables js 文件,我正在使用捆绑包(MVC BundleConfig.cs)。我将 jquery 文件加载到呈现 cshtml 网格的 _Layout 文件的标题中。在 Grid.cshtml 的顶部,我正在加载 dataTables.js 文件。以下是捆绑包的指定方式:
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery-{version}.js"));
bundles.Add(new ScriptBundle("~/bundles/Grid").Include(
"~/Scripts/jquery.dataTables.js",
"~/Scripts/Grid.js"));
【问题讨论】:
-
将你的数据表函数从文档准备函数中取出,并将其放在简单的脚本标签中
-
我已经尝试过这个,但行为没有改变。我也尝试从控制台执行上述脚本。不建议将我的数据表初始化放在文档就绪函数中吗?我会认为这很重要?
-
通过 chrome 或 nywhere 中的检查器工具调试文件加载和文件依赖性,然后告诉 ok!
-
我不确定我是否理解您的问题。我能够在两个必需的 javascript 文件中打断点:jquery 和 dataTables。我认为这意味着两个文件都已加载并可以使用。根据 dataTables,这些是仅有的两个依赖项。
-
这些是捆绑包,当它加载到您的 html 文档中时,查看缩小的
/grid?v=.js 文件的源代码并查看脚本是否实际加载。
标签: jquery datatables