色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ajax如何遍歷json數組對象數組

林子帆1年前6瀏覽0評論

AJAX(Asynchronous JavaScript and XML)是一種用于創建交互式網頁應用程序的技術。在AJAX中,JSON(JavaScript Object Notation)被廣泛用來傳輸和交換數據。本文將介紹如何使用AJAX遍歷JSON數組和對象數組,并通過舉例來說明。

首先,讓我們看一個簡單的例子。假設我們有一個JSON數組,其中包含了幾本圖書的信息:

[
{
"title": "JavaScript: The Good Parts",
"author": "Douglas Crockford",
"price": 19.99
},
{
"title": "Eloquent JavaScript",
"author": "Marijn Haverbeke",
"price": 22.50
},
{
"title": "JavaScript: The Definitive Guide",
"author": "David Flanagan",
"price": 39.99
}
]

現在我們想要使用AJAX遍歷這個數組,并將每本書的標題顯示在網頁上。我們可以使用JavaScript的XMLHttpRequest對象來實現AJAX請求:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var books = JSON.parse(this.responseText);
var output = '';
for (var i = 0; i< books.length; i++) {
output += '<p>' + books[i].title + '</p>';
}
document.getElementById("book-list").innerHTML = output;
}
};
xhttp.open("GET", "books.json", true);
xhttp.send();

上面的代碼中,我們首先創建了一個XMLHttpRequest對象(在舊版瀏覽器中可能需要使用ActiveXObject)并設置onreadystatechange事件處理程序。當請求的狀態改變時,我們檢查readyState和status的值,當它們都為4和200時,表示請求已經完成成功。

接下來,我們使用JSON.parse方法將返回的字符串解析為JavaScript對象數組。然后,我們創建一個空的字符串變量output來存儲每本書的標題。

通過for循環,我們遍歷books數組,并將每本書的標題添加到output中,并用

標簽包裹起來。最后,我們使用getElementById方法獲取HTML元素,并將output賦值給該元素的innerHTML屬性,以在網頁上顯示書籍列表。

以上代碼假設我們的JSON數據保存在名為"books.json"的文件中。如果JSON數據是通過API返回的,我們需要將URL替換為API的地址。

接下來,讓我們看一個更復雜一些的例子。假設我們有一個JSON對象數組,其中的每個對象都表示一個學生的信息:

[
{
"name": "Alice",
"age": 18,
"grades": [85, 92, 78]
},
{
"name": "Bob",
"age": 20,
"grades": [76, 88, 91]
},
{
"name": "Carol",
"age": 19,
"grades": [90, 87, 95]
}
]

我們想要計算每個學生的平均分,并將姓名、年齡和平均分顯示在網頁上:

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var students = JSON.parse(this.responseText);
var output = '';
for (var i = 0; i< students.length; i++) {
var total = 0;
for (var j = 0; j< students[i].grades.length; j++) {
total += students[i].grades[j];
}
var average = total / students[i].grades.length;
output += '<p>Name: ' + students[i].name + ', Age: ' + students[i].age + ', Average Grade: ' + average + '</p>';
}
document.getElementById("student-list").innerHTML = output;
}
};
xhttp.open("GET", "students.json", true);
xhttp.send();

在這個例子中,我們除了使用一個嵌套的for循環來計算每個學生的平均分,其他部分的操作與前面的例子相似。

通過以上兩個例子,我們可以看到如何使用AJAX遍歷JSON數組和對象數組,并將數據顯示在網頁上。這為我們實現了更加動態和交互的網頁應用程序提供了基礎。