AJAX JSON 實例


AJAX 可用來與 JSON 文件進行交互式通信。


AJAX JSON 實例

下麵的例子將演示網頁如何使用 AJAX 來讀取來自 JSON 文件的信息:

實例




嚐試一下 »


實例解析 - loadXMLDoc() 函數

當用戶點擊上麵的"獲取課程數據"這個按鈕,就會執行 loadXMLDoc() 函數。

loadXMLDoc() 函數創建 XMLHttpRequest 對象,添加當服務器響應就緒時執行的函數,並將請求發送到服務器。

當服務器響應就緒時,我們就使用 JSON.parse() 方法將數據轉換為 JavaScript 對象。:

異步加載 JSON 文檔

function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執行代碼 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 瀏覽器執行代碼 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { var myArr = JSON.parse(this.responseText); myFunction(myArr) } } xmlhttp.open("GET","/try/ajax/json_ajax.json",true); xmlhttp.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); xmlhttp.send(); } function myFunction(arr) { var out = ""; var i; for(i = 0; i < arr.length; i++) { out += '<a href="' + arr[i].url + '">' + arr[i].title + '</a><br>'; } document.getElementById("myDiv").innerHTML=out; }


AJAX 服務器頁麵

上麵這個例子中使用的服務器頁麵實際上是一個名為 "json_ajax.json" JSON 文件。

JSON 數據如下:

json_ajax.jso 文件:

[ { "title": "JavaScript 教程", "url": "https://rb.wikimirror.xyz/js/" }, { "title": "HTML 教程", "url": "https://rb.wikimirror.xyz/html/" }, { "title": "CSS 教程", "url": "https://rb.wikimirror.xyz/css/" } ]

發送 JSON 數據:

xmlhttp.send(JSON.stringify({ "email": "admin@runoob.com", "response": { "name": "runoob" } }));