【发布时间】:2013-08-18 17:43:08
【问题描述】:
我正在创建一个简单的 AJAX 请求,它会从数据库中返回一些数据。下面是我的功能:
function AJAXrequest(url, postedData, callback) {
$.ajax({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
}
这里是我调用它的地方,提供所需的参数:
AJAXrequest('voting.ajax.php', imageData, function(data) {
// function body
});
然而,回调没有运行,而是在控制台中出现错误:
TypeError: $.ajax(...) is not a function.
为什么?在成功事件触发 $.ajax 内的匿名函数之前,我已经完成了 AJAX 请求,但现在我正在尝试运行一个单独命名的函数。我该怎么办?
【问题讨论】:
-
是否包含jquery
-
改变这个 $.ajax() ({ 到 $.ajax({
-
您在没有参数的情况下调用了
$.ajax($.ajax()),返回值是一个 jqXHR 对象,它不是函数。因此$.ajax()(...)会抛出一个错误。 -
要么你错过了包含 jquery.js 要么你在函数调用下面包含了 jquery.js 要么请尝试 jQuery.ajax(用 jQuery 替换 $)。
-
在我的例子中,这是因为我使用了 slim minified 版本的 JQuery,它取出了 ajax 函数