[英]Ajax call with different JSON responses
我有一個Ajax腳本,該腳本調用一個PHP文件,對MySQL進行查詢,然后以JSON格式設置響應,以便可以使用它。 我的問題是,使用我通過Ajax調用發送的1個id,我需要對不同的表進行幾個查詢,其中一些返回1個結果,而一些返回多個結果。 所有這些數據都必須使用相同的Ajax調用來獲取,所以我的問題是如何正確格式化JSON,以便可以將其與javascript一起使用。 這是我的PHP:
try
{
$sql ="SELECT * FROM newLoads WHERE `id`='$id' LIMIT 1 ";
$s= $conn->query($sql);
}
catch (PDOException $e)
{
echo "Error SQL SELECT";
exit();
}
while ($row = $s->fetch())
{
$load['id'] = $row['id'];
$load['dateAdded'] = $row['dateAdded'];
...
$all['load'] = $load;
}
print json_encode($all);
它返回為{"load":{"id":"00000361","dateAdded":"2015-01-15"...}}
,這很好,但是如何繼續下一個必須包含的查詢多個回應? 我嘗試將第二個查詢添加到$all
,但僅當它是單個結果時才有效,盡管它可能是多個。 我想這只是一個語法問題,但是我對Ajax還是陌生的,所以對我們的幫助將不勝感激。
您可以這樣做( $s2
是第二個查詢的結果):
$all['items'] = array();
while ($row = $s2->fetch()) {
$all['items'][] = $row;
}
然后,在Javascript中,您需要遍歷所有項目,例如:
for (i = 0; i < j.items.length; i++) {
console.log(j.items[i]);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.