使用 Ajax 的 JSON



AJAX 是异步 JavaScript 和 XML,在客户端用作一组相互关联的 Web 开发技术,以创建异步 Web 应用程序。根据 AJAX 模型,Web 应用程序可以从服务器异步发送和检索数据,而不会干扰现有页面的显示和行为。

许多开发人员使用 JSON 在客户端和服务器之间传递 AJAX 更新。更新现场体育比分的网站可以被视为 AJAX 的一个示例。如果这些分数必须在网站上更新,则必须将它们存储在服务器上,以便网页可以在需要时检索分数。这就是我们可以使用 JSON 格式数据的地方。

使用 AJAX 更新的任何数据都可以使用 JSON 格式存储在 Web 服务器上。使用 AJAX 以便 javascript 可以在必要时检索这些 JSON 文件、解析它们并执行以下操作之一 -

  • 将解析的值存储在变量中,以便在网页上显示它们之前进行进一步处理。
  • 它直接将数据分配给网页中的 DOM 元素,以便它们显示在网站上。

例子

以下代码显示了带有 AJAX 的 JSON。将其另存为 ajax.htm 文件。此处,加载函数 loadJSON() 异步用于上传 JSON 数据。


<html>
   <head>
      <meta content = "text/html; charset =utf-8" http-equiv = "content-type">
        
      <script type = "application/javascript">
         function loadJSON() {
            var data_file = "http://www.qikepu.com/json/data.json";
            var http_request = new XMLHttpRequest();
            try{
               // Opera 8.0+, Firefox, Chrome, Safari
               http_request = new XMLHttpRequest();
            }catch (e) {
               // Internet Explorer Browsers
               try{
                  http_request = new ActiveXObject("Msxml2.XMLHTTP");
                    
               }catch (e) {
                
                  try{
                     http_request = new ActiveXObject("Microsoft.XMLHTTP");
                  }catch (e) {
                     // 出了问题
                     alert("你的浏览器出错了!");
                     return false;
                  }
                    
               }
            }
            
            http_request.onreadystatechange = function() {
            
               if (http_request.readyState == 4  ) {
                  // 用于解析JSON数据的Javascript函数JSON.parse
                  var jsonObj = JSON.parse(http_request.responseText);

                  // jsonObj变量现在包含数据结构,可以
                  // 作为jsonbj.name和jsonbj.country访问。
                  document.getElementById("Name").innerHTML = jsonObj.name;
                  document.getElementById("Country").innerHTML = jsonObj.country;
               }
            }
            
            http_request.open("GET", data_file, true);
            http_request.send();
         }
        
      </script>
    
      <title>qikepu.com JSON</title>
   </head>
    
   <body>
      <h1>板球运动员详细信息</h1>
        
      <table class = "src">
         <tr><th>名称</th><th>国家</th></tr>
         <tr><td><div id = "Name">李明</div></td>
         <td><div id = "Country">美国</div></td></tr>
      </table>

      <div class = "central">
         <button type = "button" onclick = "loadJSON()">更新详细信息 </button>
      </div>
        
   </body>
        
</html>

下面给出的是 data.json 的输入文件,其中包含 JSON 格式的数据,当我们单击 Update Detail 按钮时,该数据将异步上传。此文件保存在 https://www.qikepu.com/json/

{"name": "Brett", "country": "Australia"}

上面的 HTML 代码将生成以下屏幕,您可以在其中检查 AJAX 的实际效果

当您单击 更新详细信息 按钮时,您应该会得到如下结果。