Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
¿Qué estoy haciendo mal al intentar extraer datos de esta API y completar un menú desplegable de selección?

Estoy tratando de extraer el contenido de la biblia ASV de la API en biblia.api y completar mi menú desplegable de selección con los datos, sin embargo, estoy haciendo algo mal ya que los datos no están completando mi menú desplegable de selección. Sin embargo, sé que el punto final es correcto y carga el objeto json con el contenido de la biblia en mi consola.

 $(document).ready(function(){ let dropdown = document.getElementById('books'); dropdown.length = 0; let defaultOption = document.createElement('option'); defaultOption.text = 'Choose Book of the Bible'; dropdown.add(defaultOption); dropdown.selectedIndex = 0; const url = 'https://api.biblia.com/v1/bible/contents/ASV?key=aa43781d7b806b8d6764191dce895e10'; const request = new XMLHttpRequest(); request.open('GET', url, true); request.onload = function() { if (request.status === 200) { const books = JSON.parse(request.responseText); let option; for (let i = 0; i < books.length; i++) { option = document.createElement('option'); option.text = books[i].passage; option.value = books[i].passage; dropdown.add(option); console.log(books[i].passage); } } else { // Reached the server, but it returned an error } } request.onerror = function() { console.error('An error occurred fetching the JSON from ' + url); }; request.send();
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Considera lo siguiente.

 $(function() { function loadSelect(target, url) { var dropdown = $(target); var defaultOption = $('<option>').html("Choose Book of the Bible").appendTo(dropdown); $.getJSON(url, function(results) { $.each(results.books, function(i, book) { $("<option>", { value: i }).html(book.passage).appendTo(dropdown); }); }); } loadSelect("#books", "https://api.biblia.com/v1/bible/contents/ASV?key=aa43781d7b806b8d6764191dce895e10"); });

Se considera una mejor práctica usar todo JavaScript o jQuery y no mezclarlos. Es posible que desee utilizar $.getJSON() .

about 4 years ago · Juan Pablo Isaza Relatório

0

Su problema es que está iterando sobre "responseText", que contiene solo un elemento llamado libros.

Para hacer lo que intenta lograr, debe usar algo así en su función request.onload :

 const data = JSON.parse(request.responseText); const books = data.books;
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda