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

Erro na linha, não consigo encontrar o erro

Console indicando Uncaught SyntaxError: Unexpected token '.' na linha .fail(function(){.

Não entendi o erro.

    $.get("http://localhost:3000/frases",trocaFraseAleatoria);
    .fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },2000);
    });

    .always(function(){
        $("spinner").toggle();
    }
}
9 respostas

Fala ai Jairo, tudo bem? Acho que é por conta do ; na primeira linha do get e no final do .fail

$.get("http://localhost:3000/frases",trocaFraseAleatoria);

.fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },2000);
    });

Tente removê-lo:

$.get("http://localhost:3000/frases",trocaFraseAleatoria)

.fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },2000);
    })

Espero ter ajudado.

Não deu certo:

Aterei para o seguinte:

$("#botao-frase").click(fraseAleatoria);

function fraseAleatoria(){ $("#spinner").show();

$.get("http://localhost:3000/frases",trocaFraseAleatoria);
.fail(function(){
    $("#erro").toggle()
    setTimeout(function(){
        $("#erro").toggle()
    },2000)
});

.always(function(){
    $("spinner").toggle();
}

}

function trocaFraseAleatoria(data){ var frase = $(".frase"); var numeroAleatorio = Math.floor(Math.random() * data.length); frase.text(data[numeroAleatorio].texto);

atualizaTamanhoFrase();
atualizaTempoInicial(data[numeroAleatorio].tempo);

}

Fala Jairo, os códigos que tu postou ainda estão com o ;.

Seu código:

$.get("http://localhost:3000/frases",trocaFraseAleatoria);
.fail(function(){
    $("#erro").toggle()
    setTimeout(function(){
        $("#erro").toggle()
    },2000)
});

.always(function(){
    $("spinner").toggle();
}

Sem os ;:

$.get("http://localhost:3000/frases",trocaFraseAleatoria)
.fail(function(){
    $("#erro").toggle()
    setTimeout(function(){
        $("#erro").toggle()
    },2000)
})
.always(function(){
    $("spinner").toggle();
}

Espero ter ajudado.

Do conta de encontrar o erro não. Tá apontando erro em um }.

$("#botao-frase").click(fraseAleatoria);

function fraseAleatoria(){    
    $("#spinner").show();

    $.get("http://localhost:3000/frases",trocaFraseAleatoria)
    .fail(function(){
        $("#erro").toggle()
        setTimeout(function(){
            $("#erro").toggle()
        },2000)
    })
}

    .always(function(){
        $("spinner").toggle()
}    

function trocaFraseAleatoria(data){
    var frase = $(".frase");
    var numeroAleatorio = Math.floor(Math.random() * data.length);
    frase.text(data[numeroAleatorio].texto);
    atualizaTamanhoFrase();
    atualizaTempoInicial(data[numeroAleatorio].tempo);
}

Tenta assim:

$("#botao-frase").click(fraseAleatoria);

function fraseAleatoria(){    
    $("#spinner").show();

    $.get("http://localhost:3000/frases",trocaFraseAleatoria)
    .fail(function(){
        $("#erro").toggle()
        setTimeout(function(){
            $("#erro").toggle()
        },2000)
    })
    .always(function(){
        $("spinner").toggle()
    }   
} 

function trocaFraseAleatoria(data){
    var frase = $(".frase");
    var numeroAleatorio = Math.floor(Math.random() * data.length);
    frase.text(data[numeroAleatorio].texto);
    atualizaTamanhoFrase();
    atualizaTempoInicial(data[numeroAleatorio].tempo);
}

A função .always tinha ficado para fora.

Espero ter ajudado.

Olá Matheus. Desculpa a demora, interrompi os estudos para realizar a Certificação Labora Senior.

O código que passou ainda tinha um erro. A auxiliar ".always" estava aberta.

Obrigado.

solução!

Fala ai Jairo, faz o seguinte, compartilha o projeto completo comigo, assim eu consigo simular o problema por aqui e analisá-lo com mais calma.

Pode compartilhar através do Github ou Google Drive (zipado).

Fico no aguardo.

Obrigado Matheus. Encontrei o problema.

Grande abraço.

Boa Jairo, fico feliz que tenha resolvido o problema.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.