如何在ajax中使用多维数组的响应,在php中响应但在javascript中使用

时间:2016-01-27 07:54:50

标签: javascript php jquery ajax

这是ajax的回应

Array
(
    [0] => Array
        (
            [name] => Shoaib
            [description] => Shoaib is a frontend developer
        )

    [1] => Array
        (
            [name] => jawad
            [description] => jawad is a teacher
        )

) 

上面显示的console.log()如何在javascript中处理

3 个答案:

答案 0 :(得分:0)

要在javascript中使用PHP脚本中的响应(多维数组),您可以使用json_encode

$arr=array();
$arr[]=array('name'=>'shaoaib');

$json=json_encode( $arr );
header('Content-Type: application/json' );
echo $json;

答案 1 :(得分:0)

RamRaider提供了php结束 所以我只关注jquery部分。

你的ajax部分应该是这样的

$.post(url, function(retObj){
     var data = JSON.parse(retObj);
     $.each(data, function(idx, val){
         console.log(val.name, val.description)
     })
})

答案 2 :(得分:0)

你必须使用函数json_encode()这就像客户端的翻译一样,答案是从服务器接收的。 opossite是json_decode(),用于从客户端向服务器发送信息。 像这样是如何工作: 我使用ajax

向服务器发送了一个数据对象
$.ajax({
                    url : "ajax.php",
                    type : "POST",
                    dataType : "json",
                    data : {"name" : "abipositas", "arr" : { "1" : "one", "2" : "two" } },
                    success : function(data) {
                        alert(data["id_2"][2]);
                        alert(data["id_3"]);
                        alert(data["id_4"]);

                    },
                });

在ajax的成功中,我只是从服务器上解释了已经解释过的答案。这应该是你的服务器端:

<?php
if( $_POST ) {
    $arr['id_1'] = 'herbert';
    $arr['id_2'] = array( 0, 1, 7, 3 );
    $arr['id_3'] = $_POST['name'];
    $arr['id_4'] = $_POST['arr']['1'];

    echo json_encode($arr);
}

因为我使用$_POST发送了一个对象,所以我可以询问$_POST信息是否正确。一般来说,我并不关心具体要求包($_POST)。就像你收到邮寄包裹而你不在家,然后你去接下来的邮局,你不要在包裹里要求鞋子,你要求你的包裹。在家里,您打开并使用您需要的内容。然后你翻译这条消息并将答案发回给发送给你这个包的人(客户端使用json_encode())