无论我做什么,我都会收到相同的错误"$.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(
我甚至尝试使用jQuery Builder将Ajax库与jQuery库完全分开 http://projects.jga.me/jquery-builder/
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. 确认我正在使用文档就绪
查看 #1alert('pre test success');
的代码
5. 在使用 Ajax 编写脚本之前确认包含 jQuery 库。
检查
似乎无论我做什么都不能解决这个问题。为了它的价值,我在XAMP和DigitalOcean服务器上运行它并获得相同的结果。
有什么建议吗?
你需要确保在浏览器调用 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>
也许您是否正在使用其他库,这可能会弄乱$ 符号的使用?
看看那里 : 避免与其他库冲突 (jQuery(
多亏了@Piki我发现了这个问题
当我在我的js库中寻找潜在的冲突时,我发现一个指向"jQuery Slim"的链接隐藏在我正在使用的Bootstrap模板底部的其他一些脚本链接中,该脚本链接覆盖了我的其他jQuery文件。
我的解决方案是....
删除我页面底部的jQuery Slim版本链接,我不知道它的存在。
这是导致冲突的另一个版本的jQuery。