Foros del Web » Programando para Internet » Node.js »

Error consulta node "Object true has no method 'send'"

Estas en el tema de Error consulta node "Object true has no method 'send'" en el foro de Node.js en Foros del Web. Hola compañeros, tengo esta función en un archivo de node, la cual me sirve para hacer la comparativa entre el password que ingresa un usuario ...
  #1 (permalink)  
Antiguo 01/04/2013, 21:51
Avatar de Master_raven  
Fecha de Ingreso: junio-2008
Ubicación: Guatemala City, Guatemala, Guatemala
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 3
Error consulta node "Object true has no method 'send'"

Hola compañeros,

tengo esta función en un archivo de node, la cual me sirve para hacer la comparativa entre el password que ingresa un usuario y el password de la base de datos, regresando true o false en el callback

Código Javascript:
Ver original
  1. var validatePassword = function(plainPass, hashedPass, callback) {
  2.     var salt = hashedPass.substr(0, 10);
  3.     var validHash = salt + md5(plainPass + salt);
  4.     callback(hashedPass === validHash);
  5. }

en otra función verifico la información

Código Javascript:
Ver original
  1. app.post('/login', function(req, res){
  2.         DB.setQuery('SELECT id, nombre as user_name, username, pass, rol_id FROM user_user WHERE username="' + req.param('user') + '"');
  3.         DB.loadResult(function(o){
  4.             if(o == 'no-result') {
  5.                 res.send('user-not-found', 400);
  6.             } else {
  7.                 validatePassword(req.param('pass'), o[0].pass, function(res) {
  8.                     if (res){
  9.                         res.send('ok', 200);
  10.                     } else {
  11.                         res.send('invalid-password', 400);
  12.                     }
  13.                 });
  14.             }
  15.         });
  16.     });

pero esta me da un error en la consola del node

TypeError: Object true has no method 'send'

alguien podria ayudarme con esto
__________________
<?APRENDIENDO
  #2 (permalink)  
Antiguo 01/04/2013, 22:10
Avatar de chwc  
Fecha de Ingreso: julio-2008
Ubicación: Buenos Aires ! :D
Mensajes: 814
Antigüedad: 15 años, 8 meses
Puntos: 103
Respuesta: Error consulta node "Object true has no method 'send'"

Seguramente, el metodo res.send(parametros) en res no existe, agregale console.log(res) al inicio de la función del callback maestro y fijate lo que te tira. ( dejalo acá si tenes alguna duda )

una duda, que plugin en node estas utilizando ¿?
  #3 (permalink)  
Antiguo 01/04/2013, 22:41
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Error consulta node "Object true has no method 'send'"

Podemos hacer una prueba

Código Javascript:
Ver original
  1. function A(callback)
  2. {
  3. callback();
  4. }
  5.  
  6. function B(param1,callback)
  7. {
  8. callback();
  9. }
  10. var = 132;
  11.  
  12. A(function(){
  13.     B(45,function(var){
  14.         alert(var); // undefined
  15.     });
  16. });
  17.  
  18. A(function(){
  19.     B(45,function(){
  20.         alert(var) // 132
  21.     });
  22. });

Ergo, elimina res del parámetro de la función anónima de validatePassword.

Las funciones anónimas no requieren ser llamadas con parámetros porque por ser funciones hijas heredan todos los objetos de parent. Tú puedes llamar a la función con parámetros nominados cuando la función padre pasa parámetros EXPLÍCITAMENTE al hijo. En la isguiente situación sería correcto

Código Javascript:
Ver original
  1. function A()
  2. {
  3. var1 = 321;
  4. var2 = 123;
  5. callback(var1,var2);
  6. }
  7. A(function(pepito, palotes){
  8. alert(pepito); // 321
  9. })
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 01/04/2013 a las 23:03
  #4 (permalink)  
Antiguo 01/04/2013, 23:12
Avatar de Master_raven  
Fecha de Ingreso: junio-2008
Ubicación: Guatemala City, Guatemala, Guatemala
Mensajes: 95
Antigüedad: 15 años, 10 meses
Puntos: 3
Respuesta: Error consulta node "Object true has no method 'send'"

no entendí jajaja perdon, a lo poco que entendí, renombre la variable de la función y funciono, ahora surge otra duda, las sesiones de node no funcionan como las de php?

tengo el req.session.user pero se limpia cada ves que refresco el navegador, alguna solución para esto?
__________________
<?APRENDIENDO

Etiquetas: javascript, method, node, object, select, true
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:28.