如何在ajax中使用多维数组的响应而不是在php中使用javascript
这是ajax的响应如何在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
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);
}