如何从jQuery Ajax Success返回的数组内部循环?

时间:2014-05-19 08:58:01

标签: javascript jquery ajax arrays

我试图从PHP循环返回的数组。但仍然没有办法。例子是〜

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 ); //OK
    // <------ here, how do i loop the response.fruits ? -----

});

那我怎么能循环知道我得到了哪些水果呢?

4 个答案:

答案 0 :(得分:5)

你可以这样做:

$.each(response.fruits,function(key,value){

console.log(key+":"+value);

});

答案 1 :(得分:2)

您可以使用$.each()功能来实现您的目标。

尝试,

$.each(response.fruits,function(key,val){
   alert(key);
});

答案 2 :(得分:2)

您可以使用$.each()迭代对象的属性,例如

$.each(response.fruits, function(key,val){
    console.log(key + '-' + val)
})

答案 3 :(得分:1)

所有这些示例都使用jQuery,但您可以使用原生ECMA5 forEach进行此操作。不需要图书馆!

response.fruits.forEach(function(value){
    //do what you need to do
});