-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path01_XmlHttpRequest.js
More file actions
58 lines (43 loc) · 2.12 KB
/
Copy path01_XmlHttpRequest.js
File metadata and controls
58 lines (43 loc) · 2.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
(()=>{
// Instanciamos un objeto XMLHttpRequest
const xhr = new XMLHttpRequest();
const $list = document.getElementById('xhr');
const $fragment = document.createDocumentFragment();
// Se activa el evento cuando ocurra un cambio de estado
xhr.addEventListener('readystatechange', e=>{
// Mecanismo para saber si el estado ya ha sido completado
if(xhr.readyState !== 4)return;
// Validacion mediante el codigo de respuesta de nuestra peticion
if(xhr.status >= 200 && xhr.status < 300){
console.warn(`Conexion existosa => ${xhr.status}`);
// respuesta textual en JSON de la API
// console.log(xhr.responseText);
// Convertimos en JSON la respuesta textual de la API
let json = JSON.parse(xhr.responseText);
// console.log(json);
// Mostramos el contenido en la web
json.forEach(user => {
const $li = document.createElement('li');
const $fieldset = document.createElement('fieldset');
const $legend = document.createElement('legend');
$legend.textContent = `${user.name}`;
$fieldset.appendChild($legend);
$fieldset.innerHTML += `Email : ${user.email} <br> Phone : ${user.phone}`;
$li.appendChild($fieldset);
$fragment.appendChild($li);
});
$list.appendChild($fragment);
}else{
console.error(`Conexion fallida => ${xhr.status}`);
let message = xhr.statusText || `<h2> Error : ${xhr.status} - Ocurrio un error !!!</h2>`;
$list.innerHTML = message;
}
// console.log(xhr);
});
// Creamos la peticion de tipo GET y le pasamos como segundo parametro la url de nuestra API (que contiene informacion en formato JSON)
xhr.open("GET", "https://jsonplaceholder.typicode.com/users");
// Tambien podemos mandar peticiones a un archivo JSON ,XML , HTML de manera local!!
// xhr.open("GET","./users.json");
// Enviamos nuestra peticion
xhr.send();
})();