javascript - AJAX response text for success -


right i'm modifying ajax request asynchronous wanted know if there similar var reponse = $.ajax({ in success. before had code as:

     var response = $.ajax({            type : "get",            url : url,            data : parameters,            cache : false,            async : false     }).responsetext;  return response; 

i tried doing using first data argument returns parameters. there similar can use in success?

success : function(response) {      callback(response);  } 

because request asynchronous cannot return response.

jquery uses called "promises", can return instead:

function getuser(id) {     return $.ajax({         url: "/user",         data: { id:id },     }); } 

so, whenever want user call function:

var userrequest = getuser(123); 

the userrequest variable contains "future promise". in other words, sometime in future ready use it.

you cannot use straight away can create function run when ready. done using .done() method:

userrequest.done(function (user) {     console.log("the user " + user.name + " has been loaded!"); }); 

if you, example, want load user's profile alongside user can create 2 requests , use $.when() method:

var userrequest    = getuser(123).     profilerequest = getprofileforuser(123);  $.when(userrequest, profilerequest).done(function (user, profile) {     console.log(user.name + " " + profile.age + " years old"); }); 

read more promises on @ jquery.


Comments