Easy Async Ajax Calls
Use this whenever you have functions that need to wait on data returned from your ajax calls.
Define these functions in whatever namespace you need to access them from
function sendData(sendObj) {
return jQuery.ajax({
url: sendObj.url,
dataType: sendObj.dataType,
data: sendObj.data,
type: sendObj.type
//you can define as much or as few ajax settings as you want
});
}
function response(f,success,error) {
//set success function
f.success(function(returnedData){
success(returnedData);
});
//set error function
f.error(function(returnedData){
error(returnedData);
});
}
When you are ready to call to the server, define your sendObj and your response functions:
var sendObj ={};
sendObj.url = 'example.com/ajax.php';
sendObj.dataType = 'json';
sendObj.data = {fruit: 'apple', veggie: 'carrot'};
sendObj.type = 'POST';
var produceSuccess = function(data){
if(data) {
//It worked! Do stuff with data!
}
}
var produceError = function(data){
if(data) {
//Fail!
}
}
Then you call your functions like so:
callback = sendData(sendObj);
response(callback,produceSuccess,produceError);
Now whatever needs to happen when your calls complete will wait for the data they need - no need to redefine the ajax functions every time!
Written by Eric Kidd
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Javascript
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#