【问题标题】:for each, item[i].id isnt working. any ideas?对于每个, item[id 不起作用。有任何想法吗?
【发布时间】:2019-06-06 05:28:09
【问题描述】:

以前做过。 但是又遇到了这个问题

尝试使用来自 fb 的 api 从 fb 页面获取 id

这里是输出的 json 示例。

{
  "data": [
    {
      "created_time": "2019-01-10T05:50:49+0000",
      "message": "hello world",
      "id": "233542"
    },
    {
      "created_time": "2019-01-10T05:50:48+0000",
      "message": "hello world",
      "id": "454524"
    },
    {
      "created_time": "2018-12-24T06:19:31+0000",
      "message": "hello world",
      "id": "399434"
    }
    ]
}

脚本

var key = "(insert fb api here)";

 <!-- facebook api get -->
                var getkey = "https://graph.facebook.com/v3.2/(insert fb id here)/feed?access_token=" + key;

        $.ajax({
          type: 'GET',
          url: (getkey),
          contentType: 'application/json',
          dataType:'jsonp',
          responseType:'application/json',
          xhrFields: {
            withCredentials: true
          },
          headers: {
            'Access-Control-Allow-Credentials' : true,
            'Access-Control-Allow-Origin':'*',
            'Access-Control-Allow-Methods':'GET',
            'Access-Control-Allow-Headers':'application/json',
          },
          success: function(data) {

              $.each(data, function (i, item) {

                console.log(item[i].id);



            });
          },
          error: function(error) {

            console.log("error");
          }
});

iv 发现可行的一种方法是

console.log(item[0].id);

这只是控制台记录嵌套 json 的第一个, 我错过了什么吗?

感谢任何帮助。

【问题讨论】:

  • 为什么$.each(data, function (i, item) { console.log(item[i].id); }); 应该工作?您正在获取每个 item,然后尝试在其上查找 其关联索引。因此,对于数组,您基本上会遍历 data[0][0] -> data[1][1] -> data[2][2] 等。

标签: javascript jquery json jsonp


【解决方案1】:

试试这个:

$.each(data.data, function (i, item) {
     console.log(item.id);
});

【讨论】:

    猜你喜欢
    • 2011-04-04
    • 1970-01-01
    • 2021-11-27
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多