JavaScript不会将数据放入div [关闭]

I have some JS that takes some AJAX data from a PHP file from a database, loops through and places it in the HTML. It was working, and now it seems not too although the data is still coming from the PHP.

Javascript:

    function setDefault(){
    $("#downloads-div").empty();
    $.ajax({url: "action.php?action=fetch_downloads&category=%"}).done(function(data_raw){
      var data = JSON.parse(data_raw);
      for (var i = 0; i < data.length; i++){
        $("#downloads-div").append("<div class='col-md-4'><div class='thumbnail'><h4 class='list-group-item-heading'>" + data[i].title + "</h4><div align='right'><span style='display: inline-block; margin-right: 3px;' class='label label-default'>by " + data[i].author + "</span></div><a href='" + data[i].download_link + "'><img src='" + data[i].image + "' alt='" + data[i].title + "' class='img-thumbnail' align='center'></a><p>" + data[i].description + "</p><a href='" + data[i].download_link + "'><button type='button' class='btn btn-primary'><span class='glyphicon glyphicon-download'></span> Download</button></a></div></div></div></div>");
      }
    });
  };

HTML:

<ul class="downloads-div">

</ul>

There is a load of other HTML and JS but that isn't called unless some buttons are pressed so doesn't really matter. I have no console errors and I am calling the function!

The page where the script is running is here: http://bluecode.org.uk/downloads.php

Thanks for your help!

Regards,

You are using class not id, so in your JS should be rather $(".downloads-div") than $("#downloads-div")

Use $(".downloads-div") because ul has class="downloads-div"

function setDefault(){
    $("#downloads-div").empty();
    $.ajax({url: "action.php?action=fetch_downloads&category=%"}).done(function(data_raw){
      var data = JSON.parse(data_raw);
      for (var i = 0; i < data.length; i++){
        $(".downloads-div").append("<div class='col-md-4'><div class='thumbnail'><h4 class='list-group-item-heading'>" + data[i].title + "</h4><div align='right'><span style='display: inline-block; margin-right: 3px;' class='label label-default'>by " + data[i].author + "</span></div><a href='" + data[i].download_link + "'><img src='" + data[i].image + "' alt='" + data[i].title + "' class='img-thumbnail' align='center'></a><p>" + data[i].description + "</p><a href='" + data[i].download_link + "'><button type='button' class='btn btn-primary'><span class='glyphicon glyphicon-download'></span> Download</button></a></div></div></div></div>");
      }
    });
  };

Because downloads-div has not id but class, so change your selectors in jQuery from $("#downloads-div") to $(".downloads-div").

You should reference the div using a class name since you are using

So your js would have to change like jQuery('.downloads-div')...