Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Bug] A página da aluraplay não carrega os vídeos

Fiz todos os procedimentos demonstrados no curso JavaScript: Criando requisições, desde a parte de instalar e configurar o node.js no terminal até a parte de conectar a API com a estrutura HTML para mostrar os vídeos. No terminal, após digitar o comando json-server --watch db.json apareceu o seguinte:

Resources http://localhost:3000/videos

Home http://localhost:3000

O primeiro link está inserido na função assíncrona para conversão, no entanto, quando eu abro index.html com o live server os vídeos não são carregados. O que pode ser?

3 respostas

Olá, Geovana, como vai?

Seria interessante dar uma olhada no código completo para ver como está o processo de requisição e exibição. Você poderia me enviar o projeto? Se puder, coloque no GitHub para que eu possa acessar o código e ajudar de forma mais eficaz.

O fórum está à disposição para qualquer dúvida!

Fico no aguardo e à disposição

Olá, Mike! Obrigada por responder. Eu coloquei o código no GitHub. Eis o link: https://github.com/vana-cyber/aluraplay-requisicoes-main

solução!

Olá, Geovana.

Eu testei o seu projeto e aqui está tudo funcionando com relação a exibição dos vídeos, mas notei que vocês fez algumas alterações no repositório algumas horas depois de ter me enviado, então imagino que tenha conseguido resolver essa questão. No entanto, fiz alguns outros teste e notei alguns erros que necessitam de atenção.

1 - Quando eu tento pesquisar por um video, eu recebo o seguinte erro no console:

Uncaught (in promise) ReferenceError: Cannot access 'dadosPesquisa' before initialization
    at buscaVideo (buscaVideo.js:5:47)
    at HTMLButtonElement.<anonymous> (buscaVideo.js:12:52)

Esse erro acontece porque a variável esta sendo utilizada ANTES de ser inicializada:

async function buscaVideo(evento) {
    evento.preventDefault();
    
    // Aqui a variável esta sendo usada na função buscaVideo
    const busca = await conectaApi.buscaVideo(dadosPesquisa);
    
    // Mas somente aqui ela está sendo declarada e tendo seu valor atribuído
    const dadosPesquisa = document.querySelector("[data-pesquisa]").value;

    console.log(busca); 
}

Só é preciso inverter a ordem e a função deve funcionar corretamente:


const dadosPesquisa = document.querySelector("[data-pesquisa]").value;
const busca = await conectaApi.buscaVideo(dadosPesquisa);

2 - Com isso corrigido, o seguinte erro aparece:

GET http://127.0.0.1:5500/http//:localhost:3000/videos?q=memes 404 (Not Found)

Esse é bem mais simples de resolver, o que ocorre é que houve um pequeno erro de digitação na função buscaVideo, onde ao invés de escrever a url iniciando em http://, está escrito http//:. É só acertar a url para resolver:

const conecta = await fetch(`http://localhost:3000/videos?q=${termoDeBusca}`)

A partir dai, o código passa a funcionar como no curso. Se ainda houver dúvidas ou precisar de mais ajuda, não hesite em me avisar!

Espero ter ajudado!

Siga firme nos seus estudos e conte com o fórum sempre que precisar!

Abraços :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado