Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ajax中使用多维数组的响应而不是在php中使用javascript_Javascript_Php_Jquery_Ajax - Fatal编程技术网

如何在ajax中使用多维数组的响应而不是在php中使用javascript

如何在ajax中使用多维数组的响应而不是在php中使用javascript,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,这是ajax的响应 Array ( [0] => Array ( [name] => Shoaib [description] => Shoaib is a frontend developer ) [1] => Array ( [name] => jawad [description] => jaw

这是ajax的响应

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

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

) 

上面的console.log中显示了如何在javascript中处理要使用javascript中php脚本中的响应多维数组,您将使用json_encode


RamRaider提供了php端 所以我将只关注jquery部分

ajax部分应该是这样的

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

您必须使用json_encode函数,这就像是客户机的翻译器,用于解释服务器收到的答案是什么。opossite是json_解码,用于将信息从客户端发送到服务器。 这就是工作原理: 我使用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);
}
因为我使用$\u POST发送了一个对象,所以我可以询问$\u POST信息是否正确到达。一般来说,我不在乎我具体要求哪一个邮包。就像如果你收到一个包裹,你不在家,然后你去下一个邮局取,你不要求包裹里的鞋子,你要求你的包裹。在家里,你打开并使用你需要的内容。然后翻译此消息并将答案发送回发送此包的人。客户端使用json_encode

可能使用echo json_encode$var而不是var_dump$var,这将使在JS中解析变得更容易。
<?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);
}