Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <title>AJAX Request</title>
- <script type="text/javascript">
- try { // handle jika terjadinya error
- // function loading() {
- // const loader = document.getElementById("myLod");
- // if(loader !== "block") {
- // const res = loader.style.display = 'block';
- // document.body.appendChild = res;
- // }
- // setTimeout(()=> loader.style.display = 'none', 1000);
- // }
- // inisialisasi AJAX method
- const ajax = new XMLHttpRequest();
- // callback start - jalankan start
- ajax.onloadstart = confirm('tampilkan data ?');
- // meyiapkan dokumen untuk digunakan
- ajax.onreadystatechange = function () {
- if (ajax.readyState == 4) {
- //callback end - jika data berhasil di temukan
- if (ajax.status == 200) {
- ajax.onloadend = alert('data berhasil ditampilkan');
- //parsing data json ke object
- const parsingData = JSON.parse(ajax.response);
- console.log(ajax.response);
- //cetak string
- let output = '';
- //looping data dari json object
- parsingData.forEach((val) => {
- output += `<tr>
- <td> ${val.id} </td>
- <td> ${val.name} </td>
- <td> ${val.username} </td>
- <td> ${val.email} </td>
- <td> ${val.address.street}</td>
- <td> ${val.address.city}</td>
- <td> ${val.address.zipcode}</td>
- </tr>`
- });
- //result data ke dalam body
- document.querySelector("#data-table").innerHTML = output;
- } else {
- ajax.onerror = alert('error detected');
- }
- }
- }
- function requestMethod() {
- //set credential
- ajax.withCredentials = true;
- //buka data dan kirim data
- ajax.open("GET", "https://jsonplaceholder.typicode.com/users", true);
- ajax.send();
- }
- // jalankan request method
- requestMethod();
- } catch (err) { //tampilkan pesan error
- console.log(err.message);
- }
- </script>
- </head>
- <body>
- <div id="myLod" style="display: none">
- <img src="loading.gif" width="100px" height="100px">
- </div>
- <div id="result-lod"></div>
- <table border="1" cellspacing="3">
- <thead style="text-align: center">
- <th>Id</th>
- <th>Name</th>
- <th>Username</th>
- <th>Email</th>
- <th>Alamat</th>
- <th>Kota</th>
- <th>Kodepos</th>
- </thead>
- <tbody id="data-table" style="text-align: center">
- </tbody>
- </table>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement