jeandremelaria
2/24/2018 - 2:04 PM

Ajax - Get JSON file

Get a JSON file using AJAX

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Ajax 2 - Local JSON</title>
</head>
<body>
  <button id="button1">Get User</button>
  <button id="button2">Get Users</button>
  <br><br>
  <h1>User</h1>  
  <div id="user"></div>
  <h1>Users</h1>  
  <div id="users"></div>

  <script>
    document.getElementById('button1').addEventListener('click', loadUser);
    document.getElementById('button2').addEventListener('click', loadUsers);

    function loadUser(){
      var xhr = new XMLHttpRequest();
      xhr.open('GET', 'user.json', true);

      xhr.onload = function(){
        if(this.status == 200){
          var user = JSON.parse(this.responseText);
          
          var output = '';

          output += '<ul>' +
            '<li>ID: '+user.id+'</li>' +
            '<li>Name: '+user.name+'</li>' +
            '<li>Email: '+user.email+'</li>' +
            '</ul>';

          document.getElementById('user').innerHTML = output;
        }
      }

      xhr.send();
    }

    function loadUsers(){
      var xhr = new XMLHttpRequest();
      xhr.open('GET', 'users.json', true);

      xhr.onload = function(){
        if(this.status == 200){
          var users = JSON.parse(this.responseText);
          
          var output = '';
          
          for(var i in users){
            output += '<ul>' +
              '<li>ID: '+users[i].id+'</li>' +
              '<li>Name: '+users[i].name+'</li>' +
              '<li>Email: '+users[i].email+'</li>' +
              '</ul>';
          }

          document.getElementById('users').innerHTML = output;
        }
      }

      xhr.send();
    }
  </script>
</body>
</html>