我有一个通过 AJAX 请求从服务器获取数据的函数。异步回调获取数据,然后将其显示到 DOM。
我知道 getJSON AJAX 请求应该返回一个字符串数组(并且会自动解析以供我使用)。因此,我想获取该字符串数组并使用 jQuery 的 $.each 方法循环遍历它们,该方法接受 2 个参数 - 集合和对集合中每个项目进行操作的函数。
以下是相关代码:
setInterval(function () {
$.getJSON("https://api.parse.com/1/classes/chats")
.done(function(dataReceived){
$('.messages li').remove();
$.each(dataReceived.results, function (index, value) {
$('.messages').append('<li>' + value.text + '</li>')
})
});
}, 2500);
我的问题是关于从 getJSON 请求返回的数组 - 在我的函数中,它是一个名为“dataReceived”的参数......
那是一个已经被解析的字符串数组,所以它已经准备好了 Javascript,对吧?
另外,这是我问题的主要症结——我不知道 Javascript 数组上有一个“结果”属性?或者仅仅是 getJSON 函数返回一个具有 results 属性的对象/数组?我在这里有点迷失了......如果有人可以为我解决这个问题(无论是通过直接回答还是通过适当的文档),那就太好了。因为如果我只是将 'dataReceived' 传递给 $.each-iterator,代码将不起作用。它需要“结果”属性(dataReceived.results)。