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"

链接地址: http://www.djcxy.com/p/51959.html

上一篇: TypeError: $.ajax(...) is not a function?

下一篇: Errors with event.preventdefault