I am trying to implement the jQuery Deferred.pipe() method for the following scenario:
- Add a user in DB via $.ajax()
- Get response whether user was added correctly or not.
- If successfully added, get all the user list from server via $.ajax()
- Display the list via jQuery templates
This is something which I tried:
var addUserSuccess = function( data ) { if ( data.returnCode !== "success" ) { return $.Deferred().reject('Error saving user'); } getUsers(); } var addUser = function() { return $.ajax(url, { type: "POST", data: { username: 'test' }, contentType: "application/json", dataType: "json" }); } var displayUsers = function( data ) { $('#myTmpl').tmpl(data.d).appendTo('#myDiv'); } var getUsers = function () { return $.ajax(url, { type: "GET", data: {}, contentType: "application/json", dataType: "json" }); } $.when(addUser()).pipe(addUserSuccess).then(displayUsers) But this does not work. I know there is something missing or wrong. Any help?