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

erro no console

ncaught SyntaxError: missing ) after argument list

const containerVideos = document.querySelector(".videos__container");
const api = fetch('http://localhost:3000/videos')


.then(res => console.log(res.json()))
.then((videos)=>
  videos.forEach((video )=> 
    containerVideos.innerHTML =+ `
         <li class="video__item">
           <iframe src="${video.url}" title "${video.titulo}" frameborder="0" allowfullscreen></iframe>
        </li>
    `;

    
  )

)
3 respostas

Olá, Renan!

O erro Uncaught SyntaxError: missing ) after argument list geralmente indica que há um parêntese faltando ou mal posicionado no seu código.

Há um erro na linha onde você está tentando adicionar o conteúdo ao innerHTML do containerVideos. Além disso, há um erro na formatação da string do iframe.

const containerVideos = document.querySelector(".videos__container");
const api = fetch('http://localhost:3000/videos')

  .then(res => res.json()) 
  .then(videos => {
    videos.forEach(video => {
      containerVideos.innerHTML += `
        <li class="video__item">
          <iframe src="${video.url}" title="${video.titulo}" frameborder="0" allowfullscreen></iframe>
        </li>`;
    });
  });

Alguns pontos que observei e já alterei, foi o console.log(res.json()) para res.json(). Isso é necessário para passar os dados corretamente para o próximo .then. A Corrigi a concatenação no innerHTML usando += ao invés de =+, e também corrigi a string do iframe para incluir corretamente o atributo title com o título do vídeo. Antes, faltava o sinal de igual (=) e as aspas para encapsular o valor do título.

Espero ter ajudado e Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Td bem vi Victor? Obrigado por me dar uma resposta , só que agora está dando esse erro.

TypeError: Cannot read properties of null (reading 'innerHTML') at script.js:7:9 at Array.forEach ()

seque o codigo:

const containerVideos = document.querySelector(".videos__container");

const api = fetch("http://localhost:3000/videos")
.then(res => res.json())
.then((videos) =>
    videos.forEach((video)=> {
        containerVideos.innerHTML += `
        <li class="videos__item">
            <iframe src="${video.url}" title="${video.titulo}" frameborder="0" allowfullscreen></iframe>
              
        </li>
        `;
    
    })
)
solução!

Olá Renan!

O erro "TypeError: Cannot read properties of null (reading 'innerHTML')" significa que seu código JavaScript está tentando acessar a propriedade innerHTML de um elemento que é nulo, dá uma verifica se no seu HTML está certinho, e se existe a classe ".videos__container", pois normalmente esse erro acontece quando ele não encontra o elemento, em caso de persistência por favor compartilhe o seu projeto.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software