具有和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的预览视图,似乎暗示了更高层次的嵌套。
第二个可能的线索是,当我在$ .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)))
在此先感谢您的帮助。 戴夫