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>tw511.com 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
|