我想从PHP
循环返回数组。但jQuery的.length
是给我:jQuery Ajax成功返回数组长度?
'undefined'
PHP:
$items = array();
$items["country"] = "North Korea",
$items["fruits"] = array(
"apple"=>1.0,
"banana"=>1.2,
"cranberry"=>2.0,
);
echo json_encode($fruits);
的jQuery:
$.ajax({
url: "items.php",
async: false,
type: "POST",
dataType: "JSON",
data: { "command" : "getItems" }
}).success(function(response) {
alert(response.fruits.apple);
alert(response.length);
});
- 这里的第一个警报()是确定的,通过返回:
"1.0"
。 - 则第二警报()来检测长度
response.length
正在返回:undefined
那么如何才能i循环此阵列(或)如何循环果实(由PHP等定义$items["fruits"]
)从jQuery结束了吗?
因为'response'是一个对象,而不是一个数组,所以它在现代浏览器中没有'length'属性 –
,所以可以使用'Object.keys().length'如此'Object.keys(response ).length' –
尝试'alert(response.fruits.length);' – Viscocent