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

发送请求时触发$.ajax is not a function错误,求排查解决方法

解决$.ajax is not a function异常

你遇到的这个问题根源很明确:页面里先后引入了完整版本的jQuery和Slim版本的jQuery,而Slim版本会覆盖之前的完整版本,Slim版恰恰移除了$.ajax等AJAX相关的功能模块。

看你的代码,头部<head>里重复引入了两次完整的jQuery 3.2.1:

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>

但在页面底部又引入了jQuery 3.3.1的Slim版本:

<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>

后面引入的Slim版本会覆盖之前的完整jQuery,导致$.ajax方法不存在,这就是错误的核心原因。另外,Bootstrap 4确实依赖jQuery,但Slim版本并不满足Bootstrap的全部依赖(比如部分交互组件需要AJAX或动画支持),所以使用完整版本的jQuery才是正确选择。

解决方案:

  1. 移除Slim版本的jQuery引入,保留完整版本的jQuery(注意只需要引入一次即可,头部重复引入的可以删掉一个)。
  2. 确保完整版本的jQuery在Popper.js和Bootstrap JS之前引入(Bootstrap的依赖顺序要求jQuery优先加载)。

修改后的脚本引入部分示例:

<!-- 只引入一次完整版本的jQuery -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js" integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js" integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm" crossorigin="anonymous"></script>
<script src="rest.js"></script>
<!-- 你的点击事件脚本 -->
<script>
$("#signup").click(function() {
  var json='{"id":"SomeId","title":"SomeTitle"}';
  var obj=JSON.parse(json);
  $.ajax({
    url:"http://127.0.0.1:8080/signup",
    type: "POST",
    dataType: "json",
    data: obj,
    contentType: "application/json",
    cache: false,
    timeout: 5000,
    complete: function() {
      console.log('process complete');
    },
    success: function(data) {
      console.log(data);
      console.log('process sucess');
    },
    error: function() {
      console.log('process error');
    },
  });
});
</script>

这样修改后,$.ajax方法就能正常调用,同时也能满足Bootstrap的依赖需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 07:15:23