用json响应填充数组

时间:2014-03-24 15:09:02

标签: jquery

我尝试使用来自一列的不同值在我的验证代码中填充数组,逻辑是关注某些元素我会发送ajax请求并使用JSON响应填充数组。但我仍然是JQuery的新手,似乎我无法做到正确,所以如果有人可以提供帮助。

$('input#search').on("focus", function(){

        $.ajax({
                type:"get",
                dataType: "json",
                url:"ajax_php/get_distinct_cities.php",
                    success:function(data){
                        $.each( data.city, function( i, itemData ) {
                           cities[i] = itemData;
                        });
                    }
                 });

    });

PHP:

<?php

    mysql_connect("localhost","root","");
    mysql_select_db("pickante");

    $sql = "SELECT DISTINCT city FROM uc_items";

    $result = mysql_query($sql);

    $cities = array();

    while($row = mysql_fetch_assoc($result))
    {
       $cities[] = $row;
    }

    echo json_encode($cities);
    ?>

JSON打印:

[{"city":"Belgrade"},{"city":"Novi Sad"}]

2 个答案:

答案 0 :(得分:1)

只需循环播放数组并按

for (var i = 0; i < data.length; i++) {
    cities.push(data[i].city);
}

答案 1 :(得分:0)

正如timeJV所说,只是循环数组并将城市添加到你的数组中,这是一个如何使用$.each的示例,但前面的答案将完成工作。

 $.each(data, function( i, itemData ) {
                     cities.push(itemData.city);
          });