javascript - 从服务器的 AJAX 请求返回的数组(编码和解析的 JSON)是否具有 'results' 属性?

标签 javascript jquery ajax json object-properties

我有一个通过 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)。

最佳答案

I'm aware that the getJSON AJAX request is supposed to return an array of strings (and is automatically parsed for my use).

不完全是。 jQuery.getJSON() 会将 JSON 响应解析为等效的 JavaScript 实例和值。但是,这些值是什么完全取决于响应。

I wasn't aware that there's a 'results' property on a Javascript array?

在本例中,由于请求是解析,their basic query responses follow the format you're finding (用评论修改):

The result value is a JSON object that contains a results field with a JSON array that lists the objects.

{               // root object
  "results": [  // array of results
    {           // individual result object
      // ...
    },
    {           // another result object
      // ...
    }
  ]
}

在回调中,dataReceived 将等于通过解析此类 JSON 数据定义的“rootObject

关于javascript - 从服务器的 AJAX 请求返回的数组(编码和解析的 JSON)是否具有 'results' 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21999888/

相关文章:

javascript - ldapjs 连接在一段时间后超时

javascript - 当我们选中和取消选中其他表中的复选框时,如何在 jquery 中的表中添加/删除行?

javascript - ajax调用php后复选框不工作

javascript - $(iframe) 显示 null,检查 iframe 后显示对象,

javascript - jquery中div下如何遍历表格元素

javascript - 来自 PHP 服务器的 AJAX GET 仅在第二次调用后才起作用

php - 如何在发布表单之前将下拉选择写入 mysql

JSF 中的 Javascript - "body onload="与 </redirect> 标记

javascript - Django:无需重新加载即可更新页面

jquery - 在 jQuery UI 对话框确认框中使用验证码