开发者

Displaying JSON array through ajax (jquery)

开发者 https://www.devze.com 2022-12-21 04:16 出处:网络
I\'m pretty new to Ajax and JSON and tried to get this to work but can\'t seem to get the hang of it.

I'm pretty new to Ajax and JSON and tried to get this to work but can't seem to get the hang of it.

How do I call the json in ajax and display all the info inside the json file?

here's my json file

{
  posts: [{
    "image": "images/bbtv.jpg",
    "alter": "BioBusiness.TV",
    "desc": "BioBusin开发者_开发技巧ess.TV",
    "website": "http://andybudd.com/"
  }, {
    "image": "images/grow.jpg",
    "alter": "Grow Staffing",
    "desc": "Grow Staffing",
    "website": "http://growstaffing.com/"
  }]
}

and the ajax function im using

$.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);
  }
});

For some reason, it's only displaying the last item....

Any help in the right direction would be great.

Thanks!


Try something like this:

$('#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>');
});


you are overwriting the html in #folio each loop, you need to concatinate onto it

try adding the UL first then append to the UL a LI for each loop .append() instead

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号