Karlom Karlom - 3 months ago 177
Ajax Question

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

I'm new to jquery and using a little old tutorial on node.js that uses this snippet :

$(function () {

var roomId;

$.ajax({
type: "GET",
url: "/api/rooms"
}).success(function (rooms) {
roomId = rooms[0].id;
getMessages();
$.each(rooms, function (key, room) {
var a = '<a href="#" data-room-id="' + room.id + '" class="room list-group-item">' + room.name + '</a>';
$("#rooms").append(a);
});

});

[...]

});


However I get this error

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


at
}).success(function (rooms) {


I'm wondering what can be wrong here?

Answer

The call to ajax should look like:

$.ajax({
        type: "GET",
        url: "/api/rooms",
        success: function (rooms) { 

        }
});

You don't method chain the success function, it is one of the entries in the dictionary argument.