Jquery – TypeError: $.ajax(…) is not a function

ajaxjqueryjson

I'm creating a simple AJAX request which returns some data from a database. Here's my function below:

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

Here's where I call it, providing the required parameters:

AJAXrequest('voting.ajax.php', imageData, function(data) {
    // function body
});

Yet, the callback does not run, and instead I get an error in the console:

TypeError: $.ajax(...) is not a function.

Why? I've done AJAX requests before where the success event triggers an anonymous function inside of $.ajax, but now I'm trying to run a separately-named function. How do I go about this?

Best Answer

Neither of the answers here helped me. The problem was: I was using the slim build of jQuery, which had some things removed, ajax being one of them.

The solution: Just download the regular (compressed or not) version of jQuery here and include it in your project.