Как распечатать JSON Array в Javascript - PullRequest
0 голосов
/ 20 августа 2011

PHP: код:

$category_searchresult = $db->db_query("SELECT category_code, category_name, category_comment FROM qa_categories WHERE ".$search_by." LIKE '%".$search_string."%'");

        $i=1;
        $qa = array();
        while($categories_query_result = mysql_fetch_array($category_searchresult))
        {
            $qa[$i][] = $categories_query_result['category_code'];
            $qa[$i][] = $categories_query_result['category_name'];
            $qa[$i][] = $categories_query_result['category_comment'];

            $i++;
         }
        echo json_encode($qa);

JS код:

$.ajax({
     type: "POST",
     url: "ajax_js.php",
     data: search_data,
     cache: false,
     success: function(search_result) {
        //Print Here
    });

Текущий выход IS из PHP:

{"1":["4BA3CC","Fontaneria","Para la Casa"],"2":["CF0345","Herramientas","Herramients de Hogar"],"3":["1265CA","Luces","Luces de todo tipo"],"4":["4C4C9F","Vidrios","Reflectores de auto"]}

Большое спасибо

Ответы [ 2 ]

2 голосов
/ 20 августа 2011

Добавьте

dataType: 'json'

к вашему вызову .ajax ().Это скажет jQuery декодировать строку JSON из PHP обратно в собственную структуру данных Javascript.Кроме того, вы можете взять параметр data в обработчике успеха и явно выполнить декодирование самостоятельно:

success: function(data) {
    var data = jquery.parseJSON(data);
}
1 голос
/ 20 августа 2011

Не совсем уверен, каким должен быть вывод, но этот код вы можете использовать для обхода объекта json:

for(var key in search_result) {
   var result = search_result[key];
   //result is an array, so you can traverse or access each value by the key
   // or you can join all the values together
   var joinedValues = result.join(' | ');
   //joinedValues will be something like '4BA3CC|Fontaneria|Para la Case'
}

Возможно, вы захотите установить эти значения в объект-контейнер на странице для отображенияих конечно.Надеюсь, это поможет.

...