jQuery.get()S2C Home « Ajax « jQuery.get()

Asynchronous HTTP (Ajax) load request.

Description

The jQuery.get() Ajax method, allows us to load data from the server, using a HTTP GET request.

Shorthand version $.get()

  • Browsers operate the 'same origin policy', which means a request can not successfully retrieve data from a different domain, subdomain, or protocol. jQuery 'Ajax' requests are subject to this security restriction, the exceptions being requests made with a datatype of 'script' or 'jsonp'.
  • The jQuery.get() method returns a jqXHR object which is a superset of the browser's native XMLHttpRequest object. The jqXHR object implements the Promise interface, giving it all the properties, methods, and behavior of a Promise. See the lesson on the Deferred object for details of this. For standardization with the the Deferred object, the jqXHR object also provides .always(), .done() and .fail() methods. These methods take a function argument that is called when the jQuery.get() request terminates and the function receives the same arguments as the same-named .complete().success() and .error() setting callbacks respectively. This allows assignment of multiple callbacks for a single request as well as assigning callbacks after the request has completed. For completed requests, the callback is fired immediately.
    • It should be noted that .complete().success() and .error() callbacks are deprecated from use on request completion from jQuery 1.8. This is for completion processing only and the Ajax settings will still have these values. Best practice is to use .always(), .done() and .fail() methods on request completion to future proof code.
  • A jqXHR object will expose the following properties and methods for backward compatibility with the XMLHttpRequest object:

    jqXHR Object Description
    Methods
    abort()Cancels the currently executing request.
    getAllResponseHeaders()Returns a string containing the names and value of all response headers.
    getResponseHeader(name)Returns the value of the specified response headers.
    .overrideMimeType()Used in the beforeSend() callback function, to modify the response content-type header.
    setRequestHeader(name, value)Set a request header using the specified name and value.
    Properties
    readyStateAn integer indicating the current state of the request.
    responseTextUnderlying request responded with text.
    responseXMLUnderlying request responded with xml.
    statusResponse status code returned from the server.
    statusTextStatus text message returned by the response.

Syntax


Signature Description
jQuery.get( url [,data]
    [,function(data,textStatus,jqXHR)] [,dataType])
Load data from the server, using a HTTP GET request.

Parameters


Parameter Description Type
url A string containing the URL to send the request to.String
data An object or string sent to the server with the request.
  • Data sent to the server is appended to the URL as a query string. If the data parameter is an object map, it is converted to a string and url encoded before being appended to the URL.
String or
PlainObject
function(data, textStatus, jqXHR) A callback function executed when the request succeeds.Function
dataType The type of data expected from the server.
  • Default: Inferred based on the MIME type of the response (html, json, script, or xml).
String

Return

A jqXHR object.

jQuery.get( url [, data] [, function(data,
            textStatus, jqXHR)] [, dataType] )
Examplesgo to top of page Top

Load data from the server, using a HTTP GET request.

This is a shorthand Ajax function, which is equivalent to using the jQuery.ajax() method as follows:


$.ajax({
  url: url,
  dataType: dataType,
  data: data,
  success: callback
});

In the example below when we press the left button the first time we use the jQuery.get() method in its simplest form just using a url and output some messages dependant upon request success.

When we press the right button the first time we use the jQuery.get() method with a url and a success handler and output some messages dependant upon request success.


$(function(){
  $('#btn1').one('click', function(){
    $.get( "../js/get1.js" )
      .done(function() { $('#div1').append('Request succeeded! <br />'); })
      .fail(function() { $('#div1').append('Request failed! <br />'); })
      .always(function() { $('#div1').append('Request ended! <br /><br />'); 
    });
  });
  $('#btn2').one('click', function(){
    $.get( "../js/get1.js", function(data, textStatus, jqXHR) {
       $('#div1').append('The request was a success! <br />');
    })
      .done(function() { $('#div1').append('Request succeeded! <br />'); })
      .fail(function() { $('#div1').append('Request failed! <br />'); })
      .always(function() { $('#div1').append('Request ended! <br /><br />'); 
    });
  });
});

/*
 * The code for the external Javascript file called from $.ajax() (url: "../js/get1.js")
 * is shown below.
 */
$(function(){
  var someText = 'Passing some text. ';
  $('#div1').append('Message from get1.js: ' + someText + '<br />');
});

div1. Some initial text.

Press the button below to action the above code:

               



go to home page Homepage go to top of page Top