2017-03-17 1 views
0

JQuery AJAX를 사용하여 드롭 다운을 동적으로로드 할 때 문제가 발생했습니다. PHP가 유효한 JSON 응답을 반환하고 있습니다. 그러나 데이터를로드하려고하면 undefined, [object Object] 또는 쉼표로 구분 된 모든 값을 가진 단일 옵션이 반환됩니다. 내가 시도한 것은 정답을 산출하지 못한다.ajax를 통해 드롭 다운으로 데이터로드 문제가 발생했습니다.

이것은 AJAX 코드 블록이다

$.ajax({ 
    type: "GET", 
    url:"data/getdata_codes.php", 
    dataType: "json", 
    success: function (data) { 
     alert("Success section"); 
     alert(data); 
     $.each(data,function(key,value) <--Fails here 
     { 
     alert(key); 
     alert(value); 
     var option="<option value="+key+">"+value+"</option>"; 
     alert(option); 
     $(option).appendTo('#myList'); 
     }); 
}, 
error: function(xhr) { 
    alert("An error occured: "+ xhr.status + " " + xhr.statusText); 
} 

});

이것은 PHP에서 반환되는 JSON이며 유효성을 검사합니다.

{"data":[[{"0":"-1","CODE":"-1"}], 
[{"0":"0","CODE":"0"}], 
[{"0":"12","CODE":"12"}], 
[{"0":"213","CODE":"213"}], 
[{"0":"357","CODE":"357"}], 
[{"0":"364","CODE":"364"}], 
[{"0":"501","CODE":"501"}], 
[{"0":"661","CODE":"661"}]]} 

답변

0

먼저 배열에 1 개의 객체가있는 배열이 채워집니다. 그것은 지나치게 복잡하게 만듭니다. 이 같은

시도 뭔가 :

$(data.data).each(function(index, element) <- I guess your data variable also has a data attribute? 
     { 
     var array = element; 
     var objectInArray = array[0]; 

     var key = objectInArray.0; 
     var value = objectInArray.CODE; 
     alert(key); 
     alert(value); 
     var option="<option value="+key+">"+value+"</option>"; 
     alert(option); 
     $(option).appendTo('#myList'); 
     }); 
관련 문제