首页 > 解决方案 > jQuery 在 Laravel 8 中无法正常工作

问题描述

我想在我的 Laravel 项目中使用 DataTables(jquery 插件)。

因此,我将所需的 js 和 css 文件链接(使用 cdn)放在我的刀片模板中,jquery 除外。因为我知道 jquery 已经存在(通过 'js/app.js' 在我的刀片模板中链接),因为我正在使用 Laravel UI 包。此外,$().jquery在我的浏览器控制台中运行显示我有 jquery 3.5.1.. 因为 bootstrap 4.* 正在使用它。

但我得到了这个 - “uncaught referenceError....”,表现得好像我没有 jQuery。(jQuery 脚本也不起作用) 请参阅附图

所以,我添加了 jQuery cdn 链接并得到了“ jQuery defered exception

好吧,然后我从刀片布局中删除了“js/app.js”。现在 DataTables 工作,jQuery 脚本也工作,但 bootStrap 停止工作。

我该如何解决这个问题?!

标签: jquerylaravel

解决方案


我找到了一个不寻常的解决方案。
如果我们以默认的“延迟”方式加载 app.js,就会出现问题。

<script src="app.js" defer></script>

只需删除defer属性即可解决问题。

<script src="app.js"></script>

原因
页面加载时加载数据表。但是defer在页面加载后加载属性 jQuery。所以 datatable 抛出错误,它找不到 jQuery


推荐阅读