我從 php 中的一個數組開始,當通過 ajax 調用它時,它看起來像這樣:Array( [0] => {id:"12",from:"09:00:00",to:"15:00:00"} [1] => {id:"13",from:"08:00:00",to:"10:00:00"} [2] => {id:"12",from:"15:00:00",to:"17:00:00"})PHP代碼public static function getBookedTime($date) { $query = "SELECT * FROM booking WHERE cid = ".$_SESSION["cid"]." AND doc_date='".strftime("%Y-%m-%d",strtotime($date))."'"; $result = self::qry($query); while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $obj = "{"; $obj.= 'id:'.'"'.$line["person_id"].'",'; $obj.= 'from:'.'"'.$line["from_time"].'",'; $obj.= 'to:'.'"'.$line["to_time"].'"'; $obj.= "}"; $time_array[] = $obj; } print_r( json_encode($time_array) );}所以我將 json_encode($myarray) 添加到 PHP 中,并將 JSON.parse(response) 添加到 javascript。現在在我的頁面中,通過ajax調用后,它看起來像這樣:var booking1 = {id:"12",from:"09:00:00",to:"15:00:00"},{id:"13",from:"08:00:00",to:"10:00:00"},{id:"12",from:"15:00:00",to:"17:00:00"};問題是,我仍然無法訪問任何值。這在 js 中不是有效格式。使用 JS 或 php,我怎樣才能讓booking1 看起來像booking2(或任何有效格式)?我嘗試了 array.push 和大約一千件事,但它不會讓步。var booking2 = [ {id:"12",from:"09:00:00",to:"15:00:00"}, {id:"13",from:"08:00:00",to:"10:00:00"}, {id:"12",from:"15:00:00",to:"17:00:00"} ];
2 回答

大話西游666
TA貢獻1817條經驗 獲得超14個贊
不要使用 json_encode 創建自己的 json 字符串,它會以更精確的方式為您完成所有艱苦的工作。
public static function getBookedTime($date) {
$query = "SELECT * FROM booking WHERE cid = ".$_SESSION["cid"]." AND doc_date='".strftime("%Y-%m-%d",strtotime($date))."'";
$result = self::qry($query);
while ($line = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
$time_array[] = ["id" =>$line["person_id"], "from" => $line["from_time"], "to" =>$line["to_time"]];
}
$json = json_encode($time_array);
}
$json 現在是格式正確的 json 字符串,您可以將其傳遞給 JavaScript。
- 2 回答
- 0 關注
- 157 瀏覽
添加回答
舉報
0/150
提交
取消