Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Consumir JSON ao carregar página com JavaScript

Caros, preciso consumir dados JSON ao término do carregamento da página com JavaScript. Fiz da seguinte forma:

document.addEventListener("DOMContentLoaded", function(event) {

    var xhr = new XMLHttpRequest();
    xhr.open("GET", "http://www.exemplo.com/exemplo");

    xhr.addEventListener("load", function(){
        var response = xhr.responseText;
        var products = JSON.parse(response);

        products.forEach(function(product){
            console.log(product);
        });
    });

    xhr.send();
  })

Porém, dá o seguinte

Uncaught TypeError: products.forEach is not a function
    at XMLHttpRequest.<anonymous>

Obs: Fiz a chamada do arquivo .js externo no final do documento HTML.

Poderiam me dizer o que estou fazendo de errado? Muito obrigado.

1 resposta
solução!

O erro que esta acontecendo é que ele não esta reconhecendo forEach como uma função. O que pode estar acontecendo que o objeto "parseado" pelo JSON não ser uma array, dai a função forEach não poderá ser chamada dessa forma. Faz o seguinte, joga o resultado da sua consulta no console com:

console.log(products);

E ve se o que esta sendo parseado realmente é uma array.