You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Laravel项目中'$.ajax is not defined'错误?

解决jQuery $.ajax is not defined错误

问题根源

你同时引入了完整版jQuery和Slim版jQuery,Slim版移除了Ajax、动画效果等核心模块,且后引入的Slim版会覆盖之前的完整jQuery,直接导致$.ajax方法丢失。另外你的Bootstrap脚本标签存在语法错误,也可能干扰脚本加载逻辑。

修复步骤

  1. 移除Slim版jQuery
    删掉这一行冗余的Slim版引入:

    <script src="https://code.jquery.com/jquery-3.6.3.slim.min.js" integrity="sha384-xxxxxxxxxxxxxxxx" crossorigin="anonymous" type="text/javascript"></script>
    

    Bootstrap 4.x依赖完整jQuery,Slim版本身不支持Bootstrap部分功能,完全没必要保留。

  2. 修正Bootstrap脚本标签的语法错误
    把错误的标签:

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" type="text/js"></sc>
    

    改为正确格式:

    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
    

    HTML5中type属性可省略,同时要确保标签闭合正确。

  3. 确认脚本加载顺序
    保持脚本加载顺序为:完整jQuery → Popper.js → Bootstrap → 自定义脚本(results.js),确保$在你的自定义脚本执行前已完成初始化。

修复后的layout.blade.php脚本段

<script src="https://code.jquery.com/jquery-3.6.3.min.js" integrity="sha384-xxxxxxxxxxxxxxxx" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{ asset('results.js') }}"></script>

额外验证步骤

  • 打开浏览器开发者工具(F12)→ Console面板,输入$或jQuery,确认返回的是完整jQuery对象而非Slim版。
  • 检查Network面板,确认所有脚本都成功加载(无404或加载失败状态)。

内容的提问来源于stack exchange,提问作者Sad3ng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:50:37