2012-03-06 3 views
1

Как я могу пройти через этот $ user массив в jQuery? Если «Failure» вернется, ошибка должна быть напечатана.Петля через массив в jQuery

Solution here фактически печатает его, но с этим выходом, который является неправильным: undefinedadmin_1, admin_2, admin_3

Спасибо заранее

<?php 
$id = $_POST['id']; 

if($id == 1) 
{ 
    $users['data'] = array(array('name'=> 'admin_1'), array('name'=> 'admin_2'), array('name'=> 'admin_2')); 
    echo json_encode($users); 
} 
else 
{ 
    $users['data'] = 'Failure'; 
    echo json_encode($users); 
} 
?> 



$.ajax({ 
    type  : 'POST', 
    url   : 'list.php', 
    data  : 'id=' + text_id, 
    dataType : 'json', 
    success  : function(response) 
    { 
     //IF not 'Failure', loop through the array and print content into div.success 
     //IF 'Failure', show div.fail 
    } 
}); 

ответ

1
if(response.data == 'Failure') { 
    console.log('error'); 
    return false; 
} 

for(var i = 0; i < response.data.length; i++) { 
    if(typeof response.data[i].name != 'undefined') { 
     console.log(response.data[i].name); 
    } 
} 
+0

Я должен хранить имена в переменной и печатать их потом, но ** result = result + response.data [i] .name + ','; ** печатает это следующим образом: undefinedadmin_1, admin_2, admin_3 – BentCoder

+0

Хорошо. Виноват. – BentCoder

1
if ($.isArray(response)) { 
    //loop through array 
} else { 
    //show error 
} 
+0

Спасибо. Это очень полезно. – BentCoder

Смежные вопросы