2010-02-23 6 views
2

저는 Ajax와 JSON을 처음 접했고이 기능을 사용하려고했지만 그걸 처리하지 못했습니다.아약스 (jquery)를 통해 JSON 배열 표시

아약스에서 json을 호출하고 json 파일 내에 모든 정보를 표시하려면 어떻게해야합니까?

여기가 마지막 항목 ....

에 어떤 도움을 표시하는 것, 내 JSON 파일

{ posts: [{"image":"images/bbtv.jpg", "alter":"BioBusiness.TV", "desc":"BioBusiness.TV", "website":"http://andybudd.com/"}, {"image":"images/grow.jpg", "alter":"Grow Staffing", "desc":"Grow Staffing", "website":"http://growstaffing.com/"}]} 

어떤 이유로

$.ajax({ 
     type: "GET", 
     url: "category/all.js", 
     dataType: "json", 
     cache: false, 
     contentType: "application/json", 
     success: function(data) { 

      $.each(data.posts, function(i,post){ 
          $('#folio').html('<ul><li><div class="boxgrid captionfull"><img src="' + post.image + '" alt="' + post.alter + '" /><div class="cover boxcaption"><p>' + post.desc + '</p><a href="' + post.website + '" target="_blank">More Work</a></div></div></li></ul>'); 

        }); 

      initBinding(); 
     }, 
     error: function(xhr, status, error) { 
     alert(xhr.status); 
     } 
    }); 

를 사용하여 AJAX 기능 메신저입니다 올바른 방향이 좋을 것입니다.

감사합니다. 당신이 #folio 각 루프에서 HTML을 덮어 쓰는

답변

5

시도를 concatinate 필요 다음과 같이 입력하십시오 :

$('#folio').html("<ul/>"); 
$.each(data.posts, function(i,post){ 
    $('#folio ul').append('<li><div class="boxgrid captionfull"><img src="' + post.image + '" alt="' + post.alter + '" /><div class="cover boxcaption"><p>' + post.desc + '</p><a href="' + post.website + '" target="_blank">More Work</a></div></div></li>'); 
}); 
+0

정말 고마워요! 위대한 일을했다. 나는 이것을 해결하려고 노력하는 데 몇 시간을 소비했다고 믿을 수 없다. :) –

+0

+1 샘플 코드 – Pharabus

1

, 당신은 그것이 UL를 추가

시도가 먼저 (각 루프으로 .Append에 대한 UL에 LI를 추가로) 대신

+0

올바른 방향으로 안내해 주셔서 감사합니다. 내가 잘못한 것을 정확히 이해하는 데 도움이되었습니다. –