dongzhao8233 2017-11-21 03:59
浏览 52

使用JavaScript数组推送php json数组

I would like to push arrays which i got from Php page into javascript array by using jquery ajax. i have tried below code.

it outputs like

{"id":12,"name":"some-one"},{"id":1,"name":"john"}{"id":2,"name":"willy"}{"id":3,"name":"keith"}

what i want is, the structure of my arrays should be like this

{"id":12,"name":"some-one"},{"id":1,"name":"john"},{"id":2,"name":"willy"},{"id":3,"name":"keith"}

i have written my codes below, please help me someone else.

index.php

var arrs =[];
arrs.push(JSON.stringify({'id':12,'name':'some-one'}));
$.ajax({
    type:'POST',
    url:'my_arr_call.php',
    success:function(data){
        arrs.push(data);
        alert(arrs);

    }
});

my_arr_call.php

<?php 
$my_arr = array(
    array('id'=>1,'name'=>'john'),
    array('id'=>2,'name'=>'willy'),
    array('id'=>3,'name'=>'keith')
);

foreach($my_arr as $v){
    $my_arrs = $v;
    print json_encode($my_arrs);
}



?>
  • 写回答

2条回答 默认 最新

  • douzaoqu4447 2017-11-21 04:01
    关注

    The problem is when you looped through the array and printed each element one by one. You can just print/echo the whole array instead (never forget the json_encode) to retain the structure.

    <?php 
    $my_arr = array(
        array('id'=>1,'name'=>'john'),
        array('id'=>2,'name'=>'willy'),
        array('id'=>3,'name'=>'keith')
    );
    
    echo json_encode($my_arr);
    ?>
    

    Then on the client-side:

    var arrs =[];
    arrs.push({'id':12,'name':'some-one'});
    $.ajax({
        type:'POST',
        url:'my_arr_call.php',
        success:function(data){
            arrs = arrs.concat(data);
            alert(arrs);
        }
    });
    
    评论

报告相同问题?

悬赏问题

  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 划分vlan后不通了
  • ¥15 GDI处理通道视频时总是带有白色锯齿
  • ¥20 用雷电模拟器安装百达屋apk一直闪退
  • ¥15 算能科技20240506咨询(拒绝大模型回答)
  • ¥15 自适应 AR 模型 参数估计Matlab程序
  • ¥100 角动量包络面如何用MATLAB绘制
  • ¥15 merge函数占用内存过大
  • ¥15 使用EMD去噪处理RML2016数据集时候的原理
  • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大