TypeError:$ .ajax(...)不是函数吗?
我试图创建一个简单的AJAX请求,它从MySQL数据库返回一些数据。 这里是我的功能如下:
function AJAXrequest(url, postedData, callback) {
$.ajax() ({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
}
...以下是我称之为的地方,解析所需的参数:
AJAXrequest('voting.ajax.php', imageData, function(data) {
console.log("success!");
});
在页面voting.ajax.php
,我目前只是返回一个JSON编码的变量等于1进行测试:
$someNumber = 1;
return json_encode($someNumber);
但是,我的成功回调不会运行(因为“成功!”未记录到控制台),并且在控制台中出现错误:
TypeError: $.ajax(...) is not a function.
success: callback
这是什么意思? 我在成功事件触发$ .ajax中的匿名函数之前完成了AJAX请求,但现在我试图运行一个单独的命名函数(在本例中为回调函数)。 我如何去做这件事?
不确定,但看起来您的代码中有语法错误。 尝试:
$.ajax({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
您在$.ajax
旁边有多余的括号,这些不需要。 如果仍然出现错误,那么jQuery脚本文件不会被加载。
这两个答案都没有帮助我。 问题是: 我使用的是精简的jQuery构建 ,它删除了一些东西,ajax就是其中之一。
解决方案:只需在此下载常规(压缩或不压缩)jQuery版本,并将其包含在您的项目中。
仔细检查一下,如果你使用的是完整版的jquery,而不是一些精简的版本。
我正在使用jquery自带的jquery cdn-script链接。 问题是这个默认是slim.jquery.js,它没有ajax
函数。 因此,如果您使用(从Bootstrap网站复制粘贴)瘦版jQuery脚本链接,请使用完整版本。
也就是说,使用<script src="https://code.jquery.com/jquery-3.1.1.min.js">
而不是<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js"