You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**XMLHttpRequest** is an objects to interact with servers. You can retrieve data from a URL without having to do a full page refresh. XMLHttpRequest is used heavily in Ajax programming. - [MDN](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)
18
+
19
+
So what is Ajax?
20
+
**Ajax** is a method of exchanging data with a server, and updating parts of a web page without reloading the entire page.
21
+
22
+
Let's diving a bit deeply into the code:
23
+
24
+
First, we need to make an instance from 'XMLHttpRequest' class.
25
+
```javascript
26
+
var http =newXMLHttpRequest();
27
+
```
28
+
When we are doing a request it goes through 5 states:
29
+
* 0 : request not initialized.
30
+
* 1 : request has been set up.
31
+
* 2 : request has been sent.
32
+
* 3 : request is in process.
33
+
* 4 : request is complete.
34
+
35
+
In the code below we are checking if the request is complete or not, and we check the status == 200 just to make sure that we do not get 404 error. - Take a look about [HTTP Status Code](https://httpstatuses.com).
36
+
```javascript
37
+
http.onreadystatechange=function() {
38
+
if ( http.readyState==4&&http.status==200) {
39
+
console.log(`Response from the server: ${http.response}`);
40
+
}
41
+
}
42
+
```
43
+
There are methods to deal with a server like (GET, POST, UPDATE, DELETE…)
44
+
45
+
* GET: to retrieve data from server.
46
+
* POST: to send data to server.
47
+
* UPDATE: to update data on the server.
48
+
* DELETE: to delete date from the server.
49
+
50
+
To Initialize a request we use [open][https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open] method. The syntax is:
The parameters 'method' and 'url' are mandatory, 'user' and 'password' are optional. True is a default value for 'async'.
55
+
56
+
```javascript
57
+
http.open("GET", URL, true/false);
58
+
```
59
+
At the end we have to send our request to the server through [send](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/send) method. In our situation we are retriving a data from the server, so we do not have to pass any parameter to the send request.
0 commit comments