Ajax不工作 - 继续获取$ .ajax不是函数错误

时间:2017-07-02 17:47:03

标签: javascript php jquery ajax

无论我做什么,我都会得到同样的错误“$.ajax不是一个功能”,我似乎无法弄明白。

我一直在研究这个问题,这就是我尝试过的。

我的调试/疑难解答步骤 - (我正在解决这个问题,因此它将成为帮助您轻松解决更多常见问题的资源。)

1。 jQuery已安装。

进行以下测试:

$(document).ready(function() {
  console.log($.ajax);
  alert('pre test success');
  if(window.jQuery) { 
    alert('post test success');
  } else {
    alert('test fail Jquery did not load!');
  }
});

2。经过测试的当前和以前版本的jQuery(我不使用超薄版本)。

(注意:超薄版本似乎不包含Ajax)

我甚至试图在http://projects.jga.me/jquery-builder/

使用jQuery Builder将Ajax库与jQuery库完全分开。

第3。测试了许多不同的语法,以帮助消除语法错误。

例如,回答有关堆栈溢出的类似问题:

$.ajax({
  type: 'POST',
  url: url,
  data: myData,
  dataType: 'json',
  success: callback
});

即使是这个直接来自jquery主页:

$.ajax({
  url: "/api/getWeather",
  data: {
    zipcode: 97201
  },
  success: function( result ) {
   $( "#weather-temp" ).html( "<strong>" + result + "</strong> degrees");
  }
});

我还尝试将$.ajax更改为jQuery.ajax等,但没有运气。

4。确认我正在使用文档

请参阅#1 alert('pre test success');

的代码

5。在Ajax脚本之前确认包含jQuery库。

检查

<小时/> 似乎无论我什么都不解决这个问题。值得一提的是,我在XAMP和DigitalOcean服务器上运行它并获得相同的结果。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

您需要确保在浏览器调用ajax代码之前加载了jquery插件... 还要确保下载最新的jquery插件并测试其他jquery功能,以确保Jquery在代码中是否正常工作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
    $("button").click(function(){
        $.ajax({url: "demoTest.txt", success: function(result){
            $("#div").html(result);
        }});
    });
});
</script>
<div id="div"><h2>Let AJAX Change this Text with another another</h2></div>

答案 1 :(得分:0)

也许您正在使用其他库,这些库可能会使用$ sign?

看看那里:Avoiding Conflicts with Other Libraries (jQuery)

答案 2 :(得分:0)

感谢@Piki

,我发现了这个问题

当我浏览我的js库寻找潜在的冲突时,我发现了一个链接到&#34; jQuery Slim&#34;埋在我正在使用的Bootstrap模板底部的一些其他脚本链接中,这些链接覆盖了我的其他jQuery文件。

我的解决方案是......

删除我不知道的页面底部的jQuery Slim版本链接。

这是另一个导致冲突的jQuery版本。