首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历JSON数组

遍历JSON数组
EN

Stack Overflow用户
提问于 2014-01-16 01:58:09
回答 2查看 109关注 0票数 0

我刚得到一个函数的jQuery AJAX调用,现在我在解析返回的值时遇到了困难。我正在使用mysql数据库,并将php array()返回给我的jQuery AJAX函数:echo json_encode($reservationArray);

现在,当我用一个简单的div标记将它附加到我的页面时,结果是:

代码语言:javascript
复制
[{"reservation_id":"3","available":"0","lock":"0","restaurant":"2","date_made":"2013-12-09 18:39:52","date_of":"2014-01-02 00:00:00","time":"08:30:00","guests":"5","user":"0"},{"reservation_id":"4","available":"0","lock":"0","restaurant":"2","date_made":"2013-12-09 18:40:15","date_of":"2014-01-02 00:00:00","time":"08:00:00","guests":"7","user":"0"}]

我相信这是一个正确的JSON (如果我错了,请纠正我)。我已经尝试过几乎每一种访问数据的方法,但是不能。下面是我正在使用的方法,来构造一个新的代码块,一堆行--每个预约一个行(我缩短了这个示例的字符串)。

编辑:

代码语言:javascript
复制
function my_ajax(rest_id){
    $.ajax({
      url: 'change_restaurant.php',
      type: 'POST',
      data: {'action': 'get-reservations', 'rest_id': rest_id},
      cache: false,
      success: function(json) {
       $.each(json, function(i, item) {
        if(typeof item == 'object') {
        newhtml += '<div>Restaurant Name :'+item.reservation_id+' Reservation Date: '+item.restaurant+'</div>'
        } 
        else {
          return false;
        }
      })

      $('#reservation-table').append(newhtml);

      },
      error: function(xhr, desc, err) {
        console.log(xhr + "\n" + err);
      }
    });

  }
EN

回答 2

Stack Overflow用户

发布于 2014-01-16 02:06:22

我相信这是一个正确的JSON (如果我错了,请纠正我)。

您收到的JSON似乎不是正确的文档。正如Pointy在评论中所说,没有任何字段“名称”或“日期”。

代码语言:javascript
复制
[{
        "reservation_id" : "3",
        "available" : "0",
        "lock" : "0",
        "restaurant" : "2",
        "date_made" : "2013-12-09 18:39:52",
        "date_of" : "2014-01-02 00:00:00",
        "time" : "08:30:00",
        "guests" : "5",
        "user" : "0"
    }, {
        "reservation_id" : "4",
        "available" : "0",
        "lock" : "0",
        "restaurant" : "2",
        "date_made" : "2013-12-09 18:40:15",
        "date_of" : "2014-01-02 00:00:00",
        "time" : "08:00:00",
        "guests" : "7",
        "user" : "0"
    }
]

您需要修改PHP代码来执行连接来自reservationsrestaurants的数据的查询。

票数 1
EN

Stack Overflow用户

发布于 2014-01-16 02:10:35

您还没有指示jQuery期望JSON作为回报。它可能是以字符串的形式解析。注意dataType选项。

代码语言:javascript
复制
function my_ajax(rest_id){
    $.ajax({
      url: 'change_restaurant.php',
      type: 'POST',
      data: {'action': 'get-reservations', 'rest_id': rest_id},
      dataType: "json", // EXPECT JSON
      cache: false,
      success: function(json) {
       $.each(json, function(i, item) {
        if(typeof item == 'object') {
        newhtml += '<div>Restaurant Name :'+item.reservation_id+' Reservation Date: '+item.restaurant+'</div>'
        } 
        else {
          return false;
        }
      })

      $('#reservation-table').append(newhtml);
      ,
      error: function(xhr, desc, err) {
        console.log(xhr + "\n" + err);
      }
    });

  }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21152065

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档