Я начал с массива из 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 (ответ) в 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"}
];
(ответы jQuery в порядке!)