2015-01-23 2 views
0

JSON을 통해 두 요소가있는 PHP 배열에서 반환되었지만 "data.length"가 작동하지 않습니다. JS에서 배열의 크기를 어떻게 얻을 수 있습니까? 배열의 요소 중 하나 (data.name.length)로 변환하면 STRING에있는 요소의 수를 반환합니다.PHP에서 JS로 2 JSON 배열 얻기

for ($i = 0; $i < $result; $i++) { 


     $img_name ['id'] = $get_img_id[$i]['id']; 

     $img_name ['name'] = $get_img_id[$i]['id']; 


    } 

    return json_encode($img_name); 

JS :이 같은

$.ajax({ 
     url: "upimage", 
     dataType: "json", 
     type: "POST", 
     data: formData, 
     success: function(data) { 

     //$.each(data, function(i) { 



      $("#all_files").val(data + " ,"); 

      for (var i = 0, l = data.length; i < l; i++) { 



      $(".returns_img").append("<div class='img_ls' id='" + i + "'><img src='/img/" + data['name'][i] + "'><button class='dell_img' id='"+ i +"'>מחק</button><br><button class='add_img' id='"+ i +"'>הוסף לכתבה</button></div>"); 

      } 




     }, 

     cache: false, 
     contentType: false, 
     processData: false 
    }); 

답변

2

당신은하지 배열,하지만 PHP 코드에서 하나의 객체를 반환하는 당신이 시도해야 할 것을 얻을 :

 $result = array(); 
     for ($i = 0; $i < $result; $i++) { 
      $img_name ['id'] = $get_img_id[$i]['id']; 
      $img_name ['name'] = $get_img_id[$i]['id']; 
      $result[] = $img_name; 
     } 
     return json_encode($result); 
+0

어떻게 배열에 왔습니까? 고맙습니다. – user3581731

+0

@ user3581731 js에서 루프가 올바르지 만 각 항목 이름에 액세스하려면'data [ '] [i]'가 아닌'data [i] .name' 만 사용하십시오. BTW는 JS를 디버깅하는 방법을 배우며, 매우 유용합니다. –

0

사용,

var arr = [], len; 

for(key in data) { 
    arr.push(key); 
} 

len = arr.length; 
console.log(len)