I'm trying to create a simple AJAX request which returns some data from a MySQL database. Here's my function below:
function AJAXrequest(url, postedData, callback) {
$.ajax() ({
type: 'POST',
url: url,
data: postedData,
dataType: 'json',
success: callback
});
}
...and here's where I call it, parsing in the required parameters:
AJAXrequest('voting.ajax.php', imageData, function(data) {
console.log("success!");
});
Yet, my success callback does not run (as "success!" is not logged to the console), and I get an error in my console:
TypeError: $.ajax(...) is not a function.
success: callback
What does this mean? 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 separate named function (in this case, a callback). How do I go about this?
There is a syntax error as you have placed parenthesis after ajax function and another set of parenthesis to define the argument list:-
As you have written:-
The parenthesis around ajax has to be removed it should be:-
I encountered the same question, and my solution was: add the JQuery script.
Especially, we should make sure the corresponding JQuery is loaded when we debug our js under the firefox/chrome.
Reference the jquery min version that includes ajax:
You have an error in your AJAX function, too much brackets, try instead
$.ajax({
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.
Not sure, but it looks like you have a syntax error in your code. Try:
You had extra brackets next to
$.ajax
which were not needed. If you still get the error, then the jQuery script file is not loaded.