Thursday, July 9, 2015

$.ajax, $.get, $.post, $.getScript, $.getJson differences in jquery

$.ajax() Performs an asynchronous HTTP (Ajax) request basically this is a method of jquery which internally uses xmlhttprequest object of JavaScript as asynchronous communicator which supports cross browser also.


There is lots of confusion in some of the function of jquery like $.ajax, $.get, $.post, $.getScript, $.getJSON that what is the difference among them which is the best, which is the fast, which to use and when so below is the description of them to make them clear and to get rid of this type of confusions.

$.get() function is a shorthand Ajax function, which is equivalent to below expression, Uses some limited criteria like Request type is GET. In $.get() function there is no any error callback only you can track succeed callback and there no standard setting supported like beforeSend, statusCode, mimeType etc, if you want to customize use $.ajax(). 

get: function(url, data, callback, type) {
 if ($.isFunction(data)) {
     callback = data;
     data = null;
 }

 return $.ajax({
       type: "GET",
       url: url,
       data: data,
       success: callback,
       dataType: type
     });
}
$.post() function is a shorthand Ajax function, which is equivalent to below expression, Uses some limited criteria like Request type is POST. In $.post() function there is also no any error callback only you can track succeed callback and there no standard setting supported like beforeSend, statusCode, mimeType etc, if you want it use $.ajax(). 

post: function(url, data, callback, type) {
    if ($.isFunction(data)) {
        callback = data;
        data = {};
    }

    return $.ajax({
        type: "POST",
        url: url,
        data: data,
        success: callback,
        dataType: type
    });
}
$.getScript() function is a shorthand Ajax function (internally use $.get() with data type JSON), which is equivalent to below expression, Uses some limited criteria like Request type is GET and data Type is script.

$.getJSON() function is a shorthand Ajax function (internally use $.get() with data type script), which is equivalent to below expression, Uses some limited criteria like Request type is GET and data Type is json. 


getScript: function(url, callback) {
     return $.get(url, null, callback, "script");
}
getJSON: function(url, data, callback) {
      return $.get(url, data, callback, "json");
}


And in both of the function ($.getScript(), $.getJSON()) there is also no any error callback only you can track succeed callback and there no standard setting supported like beforeSend, statusCode, mimeType etc, if you want it use $.ajax().

reference: http://www.dotnetbull.com/2012/07/jquery-post-vs-get-vs-ajax.html

No comments: