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

throw er; // Unhandled 'error' event

Olá,

Quando executo o comando 'node cliente-android.js', ele retorna o seguinte erro: events.js:141 throw er; // Unhandled 'error' event ^

Error: connect ECONNREFUSED 127.0.0.1:3000 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1057:14)

Segue abaixo o código do arquivo produtos.js:

module.exports = function(app) { app.get("/produtos",function(req, res) {

var connection = app.infra.connectionFactory(); var produtosDAO = new app.infra.ProdutosDAO(connection);

produtosDAO.lista(function(err, results){ res.format({ html: function(){ res.render("produtos/lista",{lista: results}); }, json: function(){ res.json(results); } }); });

connection.end();

});

app.get("/produtos/form",function(req, res) { res.render('produtos/form'); });

app.post("/produtos/salva",function(req,res) { var produto = req.body; console.log(produto);

var connection = app.infra.connectionFactory(); var produtosDAO = new app.infra.ProdutosDAO(connection);

produtosDAO.salva(produto,function(erros,resultado){ res.render("produtos/lista"); });

connection.end();

}); }

E do arquivo cliente-android.js:

var http = require('http');

var configuracoes = { hostname: 'localhost', port: 3000, path: '/produtos', header: { 'Accept': 'application/json' } };

http.get(configuracoes, function(res){ console.log(res.statusCode); res.on('data', function(body){ console.log('Corpo: ' +body); }); });

8 respostas

Postando novamente o código, pois não pegou a formatação no primeiro post:

Olá, Quando executo o comando node cliente-android.js, ele retorna o seguinte erro:

```events.js:141 throw er; // Unhandled 'error' event ^

Error: connect ECONNREFUSED 127.0.0.1:3000 at Object.exports._errnoException (util.js:870:11) at exports._exceptionWithHostPort (util.js:893:20) at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1057:14)```

Segue abaixo o código do arquivo produtos.js:

module.exports = function(app) { app.get("/produtos",function(req, res) { var connection = app.infra.connectionFactory(); var produtosDAO = new app.infra.ProdutosDAO(connection); produtosDAO.lista(function(err, results){ console.log(results); console.log(err); res.format({ html: function(){ res.render("produtos/lista",{lista: results}); }, json: function(){ res.json(results); } }); }); connection.end(); }); app.get('/produtos/form',function(req, res) { res.render('produtos/form'); }); app.post('/produtos',function(req,res) { var produto = req.body; console.log(produto); var connection = app.infra.connectionFactory(); var produtosDAO = new app.infra.ProdutosDAO(connection); var validatorTitulo = req.assert('titulo', 'Titulo deve ser preenchido').notEmpty; req.assert('preco', 'Preço deve ser em número').isFloat(); var errors = req.validationErrors(); if(errors){ res.render('produtos/form',{validationErrors:errors}); return; } produtosDAO.salva(produto,function(erros,resultado){ res.redirect("/produtos"); }); connection.end(); }); }

E do arquivo cliente-android.js:

var http = require('http'); var configuracoes = { hostname: 'localhost', port: 3000, path: '/produtos', headers: { 'Accept': 'application/json' } }; http.get(configuracoes, function(res){ console.log(res.statusCode); res.on('data', function(body){ console.log('Corpo: ' +body); }); });

Tem algum bug aqui que não estou conseguindo jogar a formatação no texto anterior. Eu usei o console.log para imprimir o resultado e o erro, e ele tem o seguinte retorno:

Imprimindo o resultado:

console.log(results);

Resposta:

undefined

Imprimindo o erro:

console.log(err);

Resposta:

{ [Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'localhost' (using password: NO)] code: 'ER_ACCESS_DENIED_ERROR', errno: 1045, sqlState: '28000', fatal: true }

Olá Diego,

Por acaso o seu usuário root do banco de dados possuí senha ? Se sim, provavelmente o problema se dá porque está faltando essa informação dentro de sua ConnectionFactory.

Um abraço!

Olá Gregory,

Não configurei nenhuma senha para o MySQL no computador que estou no momento. Baixei e instalei o mysql pelo link da aula 2 do curso, mas quando executo o comando mysql -u root, ele retorna o seguinte erro: -bash: mysql: command not found .

Olá Diego,

Para resolver esse problema, experimente colocar o diretório do mysql na variável de ambiente 'path' da sua máquina. Assim tu conseguirás acessas o mysql pelo prompt de comando.

Ou se tu preferir execute o mysql com o path completo, por exemplo: C:\path\para\mysql\bin\mysql.exe -u root

Olá Gregory,

Estou tentando adicionar o caminho, mas por algum motivo ele não fica salvo, e quando executo como administrador, ele retorna um erro. Qual o comando exato para iniciar o mysql num Mac?

Achei um tutorial explicando como se faz no link:

http://wbruno.com.br/mac/acessando-mysql-apartir-terminal-mac/

Muito obrigado mesmo pela ajuda Gregory!

solução!

Aqui como recuperar a senha de root MySQL:

https://kleberfreitas.wordpress.com/2013/10/16/451/