使用Ajax显示更多API的搜索结果

时间:2017-10-08 16:16:55

标签: javascript jquery json ajax api

首先是我在Javascript,Ajax,jQuery,JSON和dev世界中的新人。我正在开展一个网络项目,希望通过Google Books API显示搜索结果。目前我制作的代码只显示了1个结果并且工作正常,但我在console.log中看到API显示了一个包含10个项目的数组,我想显示它们。我想显示所有这些结果,但我不知道如何做到这一点。 我的HTML代码中有一个DIV,这是我的Ajax代码

$.ajax({
    url: API + libroBuscado,
    success: function(data) {


  var componente = `<div class="card" style="width: 20rem;">
    <div class="card-body">
      <h4 class="card-title">Card title</h4> 
      <h4 class="precio">$</h4>
      <h6 class="card-subtitle mb-2 text-muted">Card subtitle</h6>
      <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
      <a href="#" class="card-link">Descarga un adelanto</a>
      <a href="#" class="card-link">Comprar</a>

    </div>
  </div>`;

  var titulo = data.items[0].volumeInfo.title;
  var venta = data.items[0].saleInfo.saleability;
  var precio = "ARS $" + data.items[0].saleInfo.listPrice.amount;
  var autor = data.items[0].volumeInfo.authors;
  var sinopsis = data.items[0].volumeInfo.description;
  var descarga = data.items[0].accessInfo.webReaderLink;
  var compra = data.items[0].saleInfo.buyLink;

  $(".col-12").html(componente);
  $(".card-title").text(titulo);
  $(".precio").text(precio);
  $(".card-subtitle").text(autor);
  $(".card-text").text(sinopsis);
  $(".card-link:nth-of-type(0)").attr("href" + descarga);
  $(".card-link:nth-of-type(1)").attr("href" + compra);
  console.log(data);
},

error: function(error) {
  console.log(error);
}


 });
});

我在考虑制作一个for循环,但我不知道该怎么做或者它是否有用

1 个答案:

答案 0 :(得分:0)

您需要循环遍历它们,而不是仅仅在索引0处调用项目。

像这样。

var titulo;
var venta;
var precio;
var autor;
var sinopsis;
var descarga;
var compra;

for (i = 0; i < data.items.length; i++) { 
    titulo = data.items[i].volumeInfo.title;
    venta = data.items[i].saleInfo.saleability;
    precio = "ARS $" + data.items[i].saleInfo.listPrice.amount;
    autor = data.items[i].volumeInfo.authors;
    sinopsis = data.items[i].volumeInfo.description;
    descarga = data.items[i].accessInfo.webReaderLink;
    compra = data.items[i].saleInfo.buyLink;
}