AJAX
The XMLHttpRequest Object
- All modern browsers support the
XMLHttpRequest object.
- The
XMLHttpRequest object can be used to exchange data with a web server behind the scenes.
Example
const xhr = new XMLHttpRequest();
xhr.onload = function() {
console.log(this);
}
xhr.open("GET", "/contents/countries.json");
xhr.send();
Methods
abort: Cancels the current request
getAllResponseHeaders: Returns header information
getResponseHeader: Returns specific header information
open(method, url, async, user, psw): Specifies the request
- method: the request type GET or POST
- url: the file location
- async: true (asynchronous) or false (synchronous). default true
- user: optional user name
- psw: optional password
send: Sends the request to the server. Used for GET requests
send(string): Sends the request to the server. Used for POST requests
setRequestHeader: Adds a label/value pair to the header to be sent
Properties
readyState: Holds the status of the XMLHttpRequest.
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
responseText: Returns the response data as a string
responseXML: Returns the response data as XML data
status: Returns the status-number of a request
200: "OK"
403: "Forbidden"
404: "Not Found"
statusText: Returns the status-text (e.g. "OK" or "Not Found")
Get Method
xhr.open("GET", "register?fname=ganesh&lname=kumar");
xhr.send();
Post Method using params
xhr.open("POST", "register");
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("fname=ganesh&lname=kumar");
Post Method using JSON
xhr.open("POST", "register");
xhr.setRequestHeader("Content-type", "application/json; charset=utf-8");
const data = {fname: "ganesh", lname: "kumar"};
xhr.send(JSON.stringify(data));
Reference