2016-07-28 2 views
-1

json을 추가하는 데 문제가 있습니다. 그것은 여러 undefineds 인쇄 및 원인을 무엇인지 확실하지 않습니다.Jquery appending undefined

내 코드 :

$("button").click(function() { 
    $.getJSON("https://api.myjson.com/bins/503aj", function(obj) { 
     $.each(obj, function(key, test) { 
     $("ul").append("<div>" + test.CustomerRef + "</div>" + "<div>" + obj.CustomerName + "</div>" + "<div>" + test.DelAddress1 + "</div>"); 
     }); 
    }); 
    }); 

문제를 보여주는 JS 링크 바이올린;

https://jsfiddle.net/7vshmzj7/

왜 그것을 하는가? 가능한 해결 방법은 무엇입니까?

+0

스택 오버 플로우에 오신 것을 환영합니다! 귀하의 질문에 대한 전체 내용은 링크 된 것이 아니라 귀하의 질문 **에 ** 있어야합니다. 링크 썩어, 미래의 사람들에게 질문과 그 답변을 쓸모없는 만들고, 사람들이 당신을 돕기 위해 오프 사이트로 이동해서는 안됩니다. 전체 코드와 JSON **을 ** 질문에 넣으십시오. –

+1

그것은 $가 무엇인지 알지 못하기 때문에 발생합니다. –

답변

3

는 다시 받고있는 JSON은 다음과 같습니다

당신이 $.each과를 통해 루프가 무엇인가, 그리고 $.each 그것을 통해 반복 아니다
{ 
    "AddressData": { 
     "OrderNo": "4200", 
     "CustomerRef": "A1011", 
     "DelAddress1": "4 Test Road", 
     "DelAddress2": "Testing Lane", 
     "DelAddress3": "Testland", 
     "DelAddress4": "UK", 
     "DelPostCode": "DB11 8DA" 
    }, 
    "CustomerRef": "A1011", 
    "CustomerName": "John Doe", 
    "CustomerData": { 
     "Email": "[email protected]", 
     "Phone": "07785442" 
    } 
} 

가 문제입니다.

그냥 직접 사용 : 당신이 액세스하는 세 개의 필드는 다음과 같은 점에서 액세스하는 것을

$("button").click(function() { 
    $.getJSON("https://api.myjson.com/bins/503aj", function(obj) { 
     $("ul").append("<div>" + obj.CustomerRef + "</div>" + "<div>" + obj.CustomerName + "</div>" + "<div>" + obj.AddressData.DelAddress1 + "</div>"); 
    }); 
}); 

참고 :

  • obj.CustomerRef
  • obj.CustomerName
  • obj.AddressData.DelAddress1

Updated Fiddle