在AJAX调用后通过JSON对象进行迭代

时间:2019-07-26 21:05:40

标签: jquery json ajax

具有和php / mySql / jquery应用程序。此应用程序获取表行内容的任何数组的json字符串,并且Jquery应该循环通过该对象并将每行追加到主表。行数可以变化。

问题是$。每个仅迭代对象的第一行。

要获取该行,请进行以下AJAX调用。

 `$.ajax({
  type: "GET",
  url: "se_races_ajax.php",
  data: {act: 'addPass', pass_id:pid, ryr: ryr, yr: yr, sid: series_id},
  dataType: 'json',
  success: function (dataret) {
        $.each(dataret, function (key, value) {
             if (value.response.status !== 'success') {
                        ajax_failure(value)
             } else {
                 if (key.startsWith('addPass')) {
                 $('#raceList tbody').append(value.response.trContent);
                 }
             }
         })
       }
 })`

这将返回以下JSON数据。(我已删除了实际的trContent(表行html)数据,以保持可读性。

{
  "addPass0": {
    "response": {
      "status": "success",
      "data": null,
      "id": 2496,
      "rows": null,
      "system": "alpha"
    }
  },
  "addPass1": {
    "response": {
      "status": "success",
      "data": null,
      "id": 2497,
      "rows": null,
      "system": "alpha"
    }
  },
  "addPass2": {
    "response": {
      "status": "success",
      "data": null,
      "id": 2498,
      "rows": null,
      "system": "alpha"
    }
  }
}

我认为它必须是JSON的某种格式或有关JSON中的对象转换的内容。 这可能是一个线索,这是chrome开发工具中Network XHR的预览视图,似乎暗示了更高层次的嵌套。

enter image description here

第二个可能的线索是,当我在$ .each内的断点时,当我查看dataret的值时,它表示未定义dataret。会有什么麻烦吗?

如果这有助于说明问题,这里是PHP数组的print_r,然后将其编码为json_encode($ array)并回显;

Array([addPass0] => Array([response] => Array([status] => success [data] => [id] => 2499 [rows] => [query] =>插入IGNORE INTO series_race_list (series_id,series_year,event_id,race_num,id)VALUES('116','2019','6','99','')[system] => alpha)))[addPass1] => Array([response] =>数组([状态] =>成功[数据] => [id] => 2500 [行] => [查询] =>插入IGNORE INTO series_race_list(series_id,series_year,event_id,race_num,id)VALUES('116 ','2019','378','99','')[系统] => alpha))[addPass2] =>数组([响应] =>数组([状态] =>成功[数据] => [id] => 2501 [行] => [查询] =>插入IGNORE INTO series_race_list(series_id,series_year,event_id,race_num,id)VALUES('116','2019','379','99',' ')[系统] => alpha)))

在此先感谢您的帮助。 戴夫

0 个答案:

没有答案