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

O alert não funciona!

Já revisei todo o código e o alert não aparece quando se define uma nova promoção. A única coisa que notei é no painel Network, WS, na tabela inferior onde o instrutor mostrou haver algo sob a coluna name, no meu caso não mostra nada. O meu código no index.js estão assim:

<script src="/socket.io/socket.io.js"</script>
<script>
    var socket = io();
    socket.on('novaPromocao', function(data){
        console.log("Mensagem recebida");
        alert("Livro em promocao " +  data.livro.id);
    });
</script>

em promocoes.js está assim:

module.exports = function(app){
    app.get("/promocoes/form", function(request, response){
        var connection = app.infra.connectionFactory();
        var produtosDAO = new app.infra.ProdutosDAO(connection);
        produtosDAO.lista(function(erros, resultados){
            response.render('promocoes/form', {lista:resultados});
        });
        connection.end();
    });

    app.post("/promocoes", function(request, response){
        var promocao = request.body;
        console.log(promocao);
        app.get('io').emit('novaPromocao', promocao);
        response.redirect('promocoes/form');
    });
}

e na App.js está assim:

var app = require('./config/express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

//Usamos o set para disponibilizar a variavel io dentro do express e assim ela pode ser usada  em todos os lugares.
app.set('io', io);

http.listen(3000, function(){
    console.log("servidor rodando ...");
});

Estou usando o Chrome Versão 53.0.2785.143 m para testar e até essa lição não detectei nenhum problema.

E erros no console, só os da ausência de algumas imagens e classes pois foi usada a home da casa do código:

No console aparece esses erros:

GET http://localhost:3000/urlImagem 404 (Not Found)
localhost/:133 GET http://localhost:3000/linkImagemCapa 404 (Not Found)
localhost/:1 GET http://localhost:3000/css/site/museo-500.woff 
localhost/:1 GET http://localhost:3000/css/site/museo-500.ttf 
localhost/:417 GET http://cdn.shopify.com/s/files/1/0155/7645/t/177/assets/accepts_paypal.png?11981592617154272979 404 (Not Found)
localhost/:420 GET http://cdn.shopify.com/s/files/1/0155/7645/t/177/assets/logopagseguro.png?11981592617154272979 404 (Not Found)
localhost/:1 GET http://cdn.shopify.com/s/files/1/0155/7645/t/177/assets/casa-do-codigo.svg?12627631472548691746 404 (Not Found)
1 resposta
solução!

Oi Jaqueline, engraçado que olhando assim eu não vi nada de errado.. mas também vc disse que na de websocket não apareceu a conexão né? Quando você navega adiciona uma nova promoção, o código funciona corretamente?

Olhando pelo lado do navegador.. Na aba networks, o socket.io ta sendo resolvido corretamente?

O seu código está disponível no github, posso dar uma olhada nele.