如何在PHP中正确构建数组并在JavaScript/jQuery中获取值
从数据库查询中,我得到一条返回字段/值的记录,并将其放入数组中:如何在PHP中正确构建数组并在JavaScript/jQuery中获取值,php,arrays,jquery,Php,Arrays,Jquery,从数据库查询中,我得到一条返回字段/值的记录,并将其放入数组中: $arr = array(); while ($rowSearchZipCode = mysqli_fetch_array($resultSearchZipCode, MYSQLI_ASSOC)) { $arr[] = $rowSearchZipCode; } 我将通过php脚本的回音将其发送回jQuery ajax调用: echo print_r($arr); 在$.ajax的success参数中的警报框中显示该数组
$arr = array();
while ($rowSearchZipCode = mysqli_fetch_array($resultSearchZipCode, MYSQLI_ASSOC)) {
$arr[] = $rowSearchZipCode;
}
我将通过php脚本的回音将其发送回jQuery ajax调用:
echo print_r($arr);
在$.ajax的success参数中的警报框中显示该数组表明,我得到的多维数组如下所示:
Array
(
[0] => Array
(
[id] => 55
[branchName] => SBN - Some Branch Name
[branchAddress1] => 1234 Elm St.
[branchAddress2] => Suite 000
[branchAddressCity] => Anywhere
[branchAddressState] => CA
[branchAddressZip] => 55000
[branchAddressPhone] => 555-555-5555
[branchAddressFax] => 555-555-4444
)
)
1
问题1:我是否在while循环中正确构建了阵列
问题2:在$.ajax调用中,如何从数组中获取字段/值对,以便将它们输出到HTML标记等
Question 1: Am I building the array correctly in the while loop?
对
在进行如下AJAX调用时,可以在发送数组之前使用
echo json_encode($arr);
在AJAX调用的success函数中使用jQuery解码数组。使用首选循环在阵列中循环
例如:
JSON(JavaScript对象表示法)是一种轻量级数据交换格式
问题1:我是否在while循环中正确构建了阵列
对
问题2:在$.ajax调用中,如何从数组中获取字段/值对,以便将它们输出到HTML标记等
Question 1: Am I building the array correctly in the while loop?
不要使用打印,请使用。JSON是JavaScript的一个子集,JQuery.ajax将为您提供随时可用的JavaScript对象作为响应。要强制执行此操作,请在AJAX选项中添加dataType:'json'
,并在回显json之前使用PHP发送正确的内容类型头:
header('Content-type: application/json');
PHP方面:
- 别忘了发送正确的JSON标头,其中包含:
header('Content-Type: application/json');
- 并在回显数组之前使用json_encode对数组进行编码:
echo json_encode($myarray);
$.ajax({
url: '<url>',
dataType: "json", //optionnal if you correctly set the header
success: function(data){
for (var i in data) {
console.log(data[i]); //data[i] are JS object
}
}
});
$.ajax({
url:“”,
数据类型:“json”//optionnal,如果您正确设置了头
成功:功能(数据){
用于(数据中的var i){
log(数据[i]);//数据[i]是JS对象
}
}
});
@Jalis这给了我控制台中的数组数据,所以我在success函数中成功地解析了它,但是由于我知道字段名(branchAddress1、branchName等),我可以用它们从数组中获取它的关联值吗?抱歉,是的。还有一个“但是如果”:我能在不循环数组的情况下获得这些值吗?数据[0]['branchName']、数据[1]['branchName']等等?但是如果您只有一个数组,最好回显json_encode(reset($myarray))并直接使用依赖于知道所讨论的键的索引的数据['branchName']语法(在本例中我是这样做的)。当您知道键名而不知道它的索引时,是否有方法获取值?(你可能已经回答了,当我发布这个…)重置功能做到了!谢谢
$.ajax({
url: '<url>',
dataType: "json", //optionnal if you correctly set the header
success: function(data){
for (var i in data) {
console.log(data[i]); //data[i] are JS object
}
}
});