为了账号安全,请及时绑定邮箱和手机立即绑定

通过ajax将数组从PHP移动到具有有效JSON格式的JS

通过ajax将数组从PHP移动到具有有效JSON格式的JS

PHP
慕娘9325324 2021-07-02 14:00:56
我从 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。


查看完整回答
反对 回复 2021-07-16
  • 2 回答
  • 0 关注
  • 140 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信