位置:首頁 > Java技術 > Json教學 > JSON & Ajax

JSON & Ajax

Ajax是異步JavaScript和XML是用來在客戶端作為一組相互關聯的Web開發技術,以創建異步Web應用程序。 Ajax模型,Web應用程序可以發送數據和檢索數據從一個服務器,而不乾擾現有的頁麵顯示行為異步。

許多開發人員使用JSON AJAX更新客戶端和服務器之間傳遞。網站更新現場直播的體育成績可以被視為一個AJAX例子。如果這些分數在網站上,則它們必須被存儲在服務器上的網頁,這樣可以檢索在需要時將比分。這是我們可以使用的JSON格式的數據。

可以使用JSON格式存儲在Web服務器上的任何數據都使用AJAX更新。 Ajax的JavaScript的使用,以便可以檢索這些JSON文件,必要時,他們解析它們,然後做了兩個:

  • 將變量作進一步處理之前,在網頁上顯示它們的解析值

  • 它直接在網頁中的DOM元素分配數據,這樣它就會顯示在網站上。

實例

下麵的代碼顯示了JSON與Ajax,它保存在ajax.htm文件中。這裡加載函數loadJSON()將用於異步到JSON數據上傳。

<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<script type="application/javascript">
function loadJSON()
{
   var data_file = "/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){
            // Something went wrong
            alert("Your browser broke!");
            return false;
         }
      }
   }
   http_request.onreadystatechange  = function(){
      if (http_request.readyState == 4  )
      {
        // Javascript function JSON.parse to parse JSON data
        var jsonObj = JSON.parse(http_request.responseText);

        // jsonObj variable now contains the data structure and can
        // be accessed as jsonObj.name and jsonObj.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>gitbook.net JSON</title>
</head>
<body>
<h1>Cricketer Details</h1>
<table class="src">
<tr><th>Name</th><th>Country</th></tr>
<tr><td><div id="Name">Sachin</div></td>
<td><div id="Country">India</div></td></tr>
</table>

<div class="central">
<button type="button" onclick="loadJSON()">Update Details </button>
</body>
</html>

以下是輸入文件data.json文件JSON格式的數據將被上傳異步當我們單擊“Update Details“按鈕,這裡比較簡單,有興趣的朋友可以自己測試一下。

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

上麵的HTML代碼會產生下麵的屏幕,可以檢查AJAX 動作:

Name Country
Sachin
India

當點擊“Update Details“按鈕,應該得到的結果如下的東西,也可以嘗試自己測試JSON和AJAX 使用支持Javascript瀏覽器

Name Country
brett
Australia