AJAX JSON 實例
AJAX JSON 實例
AJAX 可用來與 JSON 文件進行交互式通信。
AJAX JSON 實例
下面的例子將演示網頁如何使用 AJAX 來讀取來自 JSON 文件的信息:
<code> function loadXMLDoc() { var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼 xmlhttp=new XMLHttpRequest(); } else { // IE6, IE5 瀏覽器執(zhí)行代碼 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 += '' + arr[i].title + ' '; } document.getElementById("demo").innerHTML=out; }</code>
實例
獲取課程數(shù)據(jù)
實例解析 - loadXMLDoc() 函數(shù)
當用戶點擊上面的"獲取課程數(shù)據(jù)"這個按鈕,就會執(zhí)行 loadXMLDoc() 函數(shù)。
loadXMLDoc() 函數(shù)創(chuàng)建 XMLHttpRequest 對象,添加當服務器響應就緒時執(zhí)行的函數(shù),并將請求發(fā)送到服務器。
當服務器響應就緒時,我們就使用 JSON.parse() 方法將數(shù)據(jù)轉換為 JavaScript 對象。:
異步加載 JSON 文檔
function loadXMLDoc() { var xmlhttp;
if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行代碼 xmlhttp=new XMLHttpRequest();
} else { // IE6, IE5 瀏覽器執(zhí)行代碼 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 += '' + arr[i].url + '">' +
arr[i].title + 'myDiv").innerHTML=out;}
AJAX 服務器頁面
上面這個例子中使用的服務器頁面實際上是一個名為 "json_ajax.json" JSON 文件。
JSON 數(shù)據(jù)如下:
json_ajax.json 文件:
[ { "title": "JavaScript 教程",
"url": "http:///javascript.html" },
{ "title": "php 教程",
"url": "http:///php.html" },
{ "title": "Python 教程",
"url": "http:///python.html" } ]
發(fā)送 JSON 數(shù)據(jù):
xmlhttp.send(JSON.stringify({ "email": "admin@runoob.com", "response": { "name": "runoob" } }));
相關文章
- AJAX XMLHttpRequest 服務器響應
- Spring MVC+ajax進行信息驗證的方法
- 使用Ajax模仿百度搜索框的自動提示功能實例
- ajax實現(xiàn)從后臺拿數(shù)據(jù)顯示在HTML前端的方法
- ajax接口文檔url路徑的簡寫實例
- ztree+ajax實現(xiàn)文件樹下載功能
- 如何利用Ajax實現(xiàn)地區(qū)三級聯(lián)動詳解
- ajax實現(xiàn)簡單登錄頁面
- Ajax實現(xiàn)文件上傳功能(Spring MVC)
- bootstrap select2 動態(tài)從后臺Ajax動態(tài)獲取數(shù)據(jù)的代碼
- Ajax實現(xiàn)二級聯(lián)動菜單
- 基于Spring Boot利用 ajax實現(xiàn)上傳圖片功能
- Ajax基礎使用詳解
- 利用Ajax實現(xiàn)智能回答的機器人示例代碼
- 原生Ajax之全面了解xhr的概念與使用
- Ajax異步請求的五個步驟及實戰(zhàn)案例
- Ajax實現(xiàn)上傳圖像功能的示例詳解
- 實現(xiàn)AJAX異步調用和局部刷新的基本步驟
- ajax和fetch的區(qū)別點總結
- axios和ajax的區(qū)別點總結