json AJAX速成班(香草JS) - TraversyMedia

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了json AJAX速成班(香草JS) - TraversyMedia相关的知识,希望对你有一定的参考价值。

<!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>
{
  "id":1,
  "name":"Rick",
  "email":"rick@gmail.com"
}
[
  {
    "id":1,
    "name":"Rick",
    "email":"rick@gmail.com"
  },
  {
    "id":2,
    "name":"Glenn",
    "email":"glenn@gmail.com"
  },
  {
    "id":3,
    "name":"Negan",
    "email":"negan@gmail.com"
  }
]

以上是关于json AJAX速成班(香草JS) - TraversyMedia的主要内容,如果未能解决你的问题,请参考以下文章

将带有香草 Js 的数组从 Ajax 发送到 Laravel 控制器

什么是 Jquery 的 $.getJSON 的香草 JS 版本

FineUI速成 标签

text 香草js和jQuery

javascript 无限卷轴香草JS

javascript 香草JS窗口的宽度和高度