Fictizia / Curso-JS-para-desarrolladores-web_ed10

FICTIZIA » Curso de JavaScript para desarrolladores web — 10ª Edición
https://fictizia.com/formacion/curso-javascript
GNU General Public License v3.0
17 stars 8 forks source link

Ajax + eventos: ejemplo rapido... #17

Closed UlisesGascon closed 6 years ago

UlisesGascon commented 6 years ago
    function peticionAjax(url, callback) {
        var xmlHttp = new XMLHttpRequest();

        xmlHttp.onreadystatechange = function() {

            if (xmlHttp.readyState === 4) {
                var respuestaCrudo = xmlHttp.responseText
                var respuesta = JSON.parse(respuestaCrudo)
                var codigo_de_estado = xmlHttp.status

                if(codigo_de_estado === 200) {
                    console.log(respuesta);
                    callback(respuestaCrudo);
                } else {
                    console.error("ERROR!", codigo_de_estado);
                }

            }

        };

        xmlHttp.open("GET", url, true);
        xmlHttp.send();
    }

    document.body.addEventListener("click", function(){
        document.body.innerHTML="Cargando...."
        peticionAjax("http://api.rtve.es/api/videogalerias.json", function (datos){
            document.body.innerHTML= "<p>"+datos+"</p>"
        });

    })

    document.body.innerHTML="¡Esto es el texto por defecto!"
UlisesGascon commented 6 years ago
    function peticionAjax(url, callback) {
        var xmlHttp = new XMLHttpRequest();

        xmlHttp.onreadystatechange = function() {

            if (xmlHttp.readyState === 4) {
                var respuestaCrudo = xmlHttp.responseText
                var respuesta = JSON.parse(respuestaCrudo)
                var codigo_de_estado = xmlHttp.status

                if(codigo_de_estado === 200) {
                    console.log(respuesta);
                    callback(respuesta);
                } else {
                    console.error("ERROR!", codigo_de_estado);
                }

            }

        };

        xmlHttp.open("GET", url, true);
        xmlHttp.send();
    }

    document.body.addEventListener("click", function(){
        document.body.innerHTML="Cargando...."
        peticionAjax("http://api.rtve.es/api/videogalerias.json", function (datos){

            console.log("Tenemos:", datos.page.items.length)
            var htmlFinal = "<ul>"
            datos.page.items.forEach(function(elemento, vuelta){
                htmlFinal += "<li>"+elemento.longTitle+" ("+elemento.popularity+")</li>"
                console.log(vuelta+":", htmlFinal);
                //elemento.longTitle
                //elemento.popularity
            })
            htmlFinal += "</ul>"
            console.log("Total:", htmlFinal);
            document.body.innerHTML= htmlFinal

        });

    })

    document.body.innerHTML="¡Esto es el texto por defecto!"