簡體   English   中英

遍歷AJAX響應

[英]Iterating over AJAX response

我正在嘗試學習一些前端工程,但是正趕上應該做的一件容易的事。 我檢查了其他問題,並嘗試了嵌套的$each建議

我編寫了一個簡單的REST API,當頁面加載時返回此JSON:

{"book":    
[{"authorFirstName":"Clive","authorLastName":"Cussler","genre":"Fiction","title":"Inca    
Gold"},{"authorFirstName":"Og","authorLastName":"Mandino","genre":"Self
Improvement","title":"The Greatest Salesman in the World"}, 
{"authorFirstName":"Bill","authorLastName":"O'Reilly","genre":"History","title":"Killing 
Lincoln"}]}

問題不在於從服務器獲取。 當頁面加載時或當我進入REST URL時,都會收到此消息。 我在呈現頁面時遇到了麻煩。 這是我的AJAX調用和成功函數:

function getAllBooks() {
    console.log("Getting all books");
        $.ajax({
            type: 'GET',
            url: rootURL, 
            dataType: "json",
            success: renderBookList
        });
}

function renderBookList(data) {
    $('#bookList li').remove();
    $.each(data, function(index, book) {
        $('#bookList').append('<li><a href="#">' + book.title + '</a></li>');
    });
} 

如果將$each函數內的行更改為book[0].title ,那么我將獲取JSON中第一本書的標題。

我想念什么? JSON是否有問題,它是一個具有一個屬性的對象(但該屬性是一個對象數組)?

服務器是JAX-RS,如果有關系,則返回ArrayList<Book> 謝謝你的幫助。

book數組由JSON響應中的book屬性引用。

function renderBookList(data) {
    $('#bookList li').remove();
    $.each(data.book, function(index, book) {
        $('#bookList').append('<li><a href="#">'+ book.title +'</a></li>');
    });
}

注意:您應該將$('#bookList')緩存在變量中,而不是每次迭代都檢索它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM