2014-02-20 3 views
0

내 기능은 API에서 정보를 가져 와서 테이블에 넣는 것입니다. 어떤 이유로이 기능이 작동하지 않습니다.API에서 테이블 만들기

이 제 기능입니다 :

function getPayInfo(socCode) { 
     var apiurl = "http://api.lmiforall.org.uk/api/v1/ashe/estimatePay?soc="; 
     var apicall = apiurl + socCode; 
     $.get(apicall, function(data) { 
      $("#Pay tbody").html(""); 
      $.each(data.years, function(i, e) { 
       var tablerow = $("<tr></tr>"); 
       tablerow.append("<td>" + e.year + "</td>"); 
       tablerow.append("<td>" + e.estpay + "</td>"); 
       $("#Pay tbody").append(tablerow); 
      }); 
     }); 
    } 

이 내가로 퍼팅하고있는 테이블 : 나는 테이블에 일년 데이터 값을 반환하는 데 예상

<div class="well table table-stripped"> 
     <h4>Pay Information</h4> 
     <h5>Pounds per Week</h5> 
     <table id="Pay"> 
      <thead> 
       <tr> 
        <th>Year</th> 
        <th>Estimate Pay</th> 
       </tr> 
      </thead> 
      <tbody> 
      </tbody> 
     </table> 
    </div> 

. 함수에서 url을 가져 와서 특정 4 자리 숫자 (socCode) (예 : 5113)를 끝에 추가하면 데이터를 온라인으로 제공하여 테이블 본문으로 반환해야합니다.

+1

무엇이 반환하고 있습니까/무엇이 오류입니까? – Dan

답변

0

$.get 콜백 내부의 데이터 구조를 디버깅/검사 했습니까? 귀하의 액세스 방법이 잘못되었습니다. 나는 당신의 example url에 액세스 할 때, 난 다시 다음과 같은 데이터를 얻을 : 내가 생각

{ 
    "soc":5113, 
    "series":[ 
    { 
     "year":2012, 
     "estpay":340 
    } 
    ] 
} 

당신이 당신의 반복자이 대신 할 것을 권장합니다

// there is no data.years 
$.each(data.series, function(i, e) { 
    ... 

이 당신의 e PARAM 양식 {year: 2012, estpay: 340} 될 수 있도록해야한다, 그것은 당신이 그것을 해석하고자하는 것으로 보이는 것처럼 보입니다.

+0

문제는 고맙습니다. 나는 그것을 다시 한 번 고마워했다. :) – Samy447