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

Olá! Não consigo fazer a requisição

Dá  um erro na pagina:ERRO CONNECTION REFUSED
alura-typer
frase.js

$("#botao-frase").click(fraseAleatoria);
$("#botao-frase-id").click(buscaFrase);
function fraseAleatoria() {
    $("#spinner").toggle();
    $.get("http://localhost:3001/frases", trocaFraseAleatoria)
    .fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },1500);
    })

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

    });
}

$("#botao-frase-id").click(buscaFrase);
function trocaFraseAleatoria(data) {
    var frase = $(".frase");
    var numeroAleatorio = Math.floor(Math.random() * data.length);

    frase.text(data[numeroAleatorio].texto);
    atualizaTamanhoFrase();
}

function fraseAleatoria() {

    $("#spinner").toggle();

    $.get("http://localhost:3001/frases", trocaFraseAleatoria)
    .fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },1500);
    })
    .always(function(){ // novo, escondendo o spinner
        $("#spinner").toggle();
    });
} 
function buscaFrase() {

    $("#spinner").toggle();
    var fraseId = $("#frase-id").val();

    var dados = {id : fraseId}; //criacao do objeto JS que guarda a id

    //passando objeto como segundo parâmetro
    $.get("http://localhost:3001/frases", dados, trocaFrase)
    .fail(function(){
        $("#erro").toggle();
        setTimeout(function(){
            $("#erro").toggle();
        },2000);
    })
    .always(function(){
        $("#spinner").toggle();
    });
}
function trocaFrase(data) {
    var fraseSelecionada  = $(".frase");
    fraseSelecionada.text(data.texto); //cuidado, texto com "o" no final 
    atualizaTamanhoFrase();
    atualizaTempoInicial(data.tempo);
7 respostas

alura-typer-servidor-cors express.js

var express = require('express');
var consign = require('consign');
var bodyParser = require('body-parser');
var app = express();

app.use(express.static('./../public'));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "http://localhost:3000");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
     next();
});
consign({cwd: 'app'})
    .include('api')
    .then('routes')
    .into(app);

module.exports = app;

Fala ai Rogers, tudo bem? Pelo erro que está dando parece que seu servidor não está em execução quando a requisição foi realizada.

Garante que tu fez um npm start na pasta do servidor e o mesmo está ouvindo eventos na porta 3001 antes da requisição ser realizada.

Espero ter ajudado.

Olá! Matheus! O servidor esta aberto no prompt de comando do windows, não consegui ainda fazer a requisição, dá o mesmo erro ...

solução!

Fala Rogers, certo, uma vez que tu deu o npm start provavelmente o prompt do Windows ficou travado pois o servidor está rondando.

Quando você realizou a requisição, ao voltar no mesmo prompt que tu tinha feito o npm start, não deu nenhuma mensagem?

Fico no aguardo.

Olá! Matheus! Ao voltar no prompt não aparece nenhuma mensagem...

insira seu código aqui

Uma dúvida, eu preciso ter os dois servidores em pé, na minha maquina né? tanto o da pasta alura-typer quanto o da alura-typer-servidor-cors

fiz isso e parece que deu certo, pois quando eu derrubo o servidor da pasta do cors dá um erro, mas com os dois servidores em pé, funciona normalmente, se for isso então deu certo rsrs

insira seu código aqui

Fala Rogers, sim, você precisa dos dois servidores, isso porque um é referente à aplicação e o outro em relação a API que a aplicação vai consumir/enviar informações.

Espero ter ajudado.