迭代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')
,而不是在每次迭代时检索它。
相关文章:
- 如何从php返回php变量值以及html响应ajax
- PHP:响应 AJAX 发布请求
- 从 php 响应 AJAX 的更好方法
- 如何将响应 ajax 发送到 html
- 处理服务器响应AJAX
- Twitter Bootstrap Rails按钮下拉列表没有响应AJAX
- 状态200 OK,相同的域,有效的JSON数据,没有响应(Ajax)
- 多个JSON数组作为响应-AJAX&PHP
- 稍后再响应AJAX请求
- Jquery的JSON响应.ajax四舍五入较大的数字,所以我不能得到正确的值
- 如何响应AJAX调用没有erb.js /为什么使用erb.js
- 是否有可能得到php echo/响应Ajax而不通过Ajax张贴
- 如何发送响应ajax到变量javascript
- Servlet不响应ajax请求
- 为什么嵌入的JavaScript在响应ajax调用时不执行?
- 多响应AJAX请求
- JAVASCRIPT:在本地主机上成功响应Ajax后重定向到主页
- Spring响应ajax: 403错误
- JSON响应AJAX格式错误
- 我如何发送压缩(gzip) JSON作为响应Ajax请求,从Java