在JSON/PHP中返回多个变量
基本上,我使用来自本地PHP文件的JSON响应在div中追加数据,目前它只返回一个变量,我使用的代码如下所示:在JSON/PHP中返回多个变量,php,jquery,json,Php,Jquery,Json,基本上,我使用来自本地PHP文件的JSON响应在div中追加数据,目前它只返回一个变量,我使用的代码如下所示: $.ajax({ url: "functions/ajax.php", data: "func=auto", type: "GET", dataType: "json", success: function(data){ $.each(data.search, functio
$.ajax({
url: "functions/ajax.php",
data: "func=auto",
type: "GET",
dataType: "json",
success: function(data){
$.each(data.search, function (i, v) {
$div = $('.bs-docs-example');
$div.append('+ v +');
});
},
error: function (jqXHR, textStatus, errorThrown){
console.log('Error ' + jqXHR);
}
});
返回JSON的代码当前为
while($row = mysql_fetch_assoc($res)) {
$search[] = $row['number'];
}
echo json_encode($search);
我想做的是这样的事情
while($row = mysql_fetch_assoc($res)) {
$search[] = $row['number'];
$search[] = $row['name'];
}
echo json_encode($search);
但是,如果我要执行以下操作,我将如何访问number
和name
,因为在jQuery上的success
中,它使用$进行解析。每个(data.search,function(i,v){
都意味着原始的$search[]=$row['number']
现在存储在v
我是否会执行类似于
v['name']
v['number']
的操作,还是完全错误?您需要将关联数组传递给json\u encode:
$search['number'] = $row['number'];
$search['name'] = $row['name'];
json_encode($search);
或者,如果将有多行结果,作为关联数组的数组:
while($row = mysql_fetch_assoc($res)) {
$search[] = $row;
}
然后按名称访问JavaScript中的值:
var name = v['name'];
或
如果您使用的是多行结果。您只需删除while循环并执行json_编码(mysql_fetch_assoc($res)),我相信,假设没有理由只传入这两列。是的,你可以;我留下了循环,以防需要对行进行一些预处理,例如,如果JSON输出中不需要所有返回的列。完全完美,解释很少但非常精确+1
var name = v[0]['name']