elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  ajax no envia variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ajax no envia variable  (Leído 3,246 veces)
bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
ajax no envia variable
« en: 17 Septiembre 2016, 08:14 am »

este es mi codigo, para enviar la variable "copiando", pero solo muestra por consola undefined
estoy usando nodejs
quiero enviar de un archivo js una variable llamada copiando hacia app.js

Código
  1. [code]
  2. var texto="no existe 1 rayo zapato zanahorea karaoke Whisky software wikipedia jinete japon jabon facil frio rayo yogur habil hablar galleta gigante gentil valiente vehiculo vegetariano quebrado quemado botella bandido brazil baile patata patria palabra marcial maqueta manantial caballero temperatura tercero ubicar urgente delfin delgado danza lectura laboratorio ilusivo inadvertencia ilimitado nacido narrado racionalidad radiactivo racismo satelite septiembre obstruir oscilatorio elogioso embajada emblema abundancia kiwi";
  3.    var copiando;
  4.  
  5.  
  6.        $(function () {
  7.            var captureInput = $('.clickme');
  8.            $(captureInput).focus();
  9.                $(captureInput).keyup(function(event){
  10.  
  11.                    startUPDOWN= (new Date()).getTime();
  12.                    if (!is_special_key(event.keyCode)) {
  13.                        var delta= startUPDOWN - startPressUP;
  14.  
  15.                        copiando=delta;
  16.                        key_cadaTecla.push(new claves(event.keyCode,tiempoPulsacion));
  17.  
  18.                        document.getElementById("keyCadaTecla").innerHTML = "tiempo de cada tecla:  ";
  19.                        for (var i = 0; i < key_cadaTecla.length; i++) {
  20.                                var result=document.createTextNode("("+key_cadaTecla[i].id+" "+key_cadaTecla[i].time+")");
  21.                                document.getElementById("keyCadaTecla").appendChild(result);
  22.                            };
  23.                        document.getElementById("ult").innerHTML = "tiempo de Press a Up:   " + delta ;
  24.                        teclaActual=event.keyCode;
  25.                    };  
  26.                    tiempoPulsacion=0;
  27.                });
  28.        });
  29.  
  30.  
  31. $(window).on('load', function() {          
  32.  
  33.    var id = 'idUsuario';
  34.    $('#add-new-fact').click(function() {
  35.    var fact = $('#new-fact').val();
  36.    $.ajax({
  37.      type: "POST",
  38.      url: "/servidor",
  39.      data: { fact: copiando},
  40.     // contentType: "application/json; charset=utf-8",
  41.      dataType: "json",
  42.      success: function(data) {
  43.        alert("si");
  44.        $('<li>').appendTo('#facts').text(fact);
  45.        $('#new-fact').val('');
  46.      },
  47.      error: function(err) {
  48.        var msg = 'Status: ' + err.status + ': ' + err.responseText;
  49.  
  50.        document.open("text/html", "replace");
  51.        document.write(err.responseText);
  52.        document.close();
  53.      }
  54.    });
  55.    return false;
  56.  });
  57.  
  58.        });
[/code]


« Última modificación: 17 Septiembre 2016, 08:16 am por .rn3w. » En línea

Jeferi


Desconectado Desconectado

Mensajes: 886



Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #1 en: 17 Septiembre 2016, 13:39 pm »

Código
  1. if (!is_special_key(event.keyCode)) {

Puede que al no entrar en esa condición nunca se defina copiando y por lo tanto envíe undefined
Depura el código y comprueba que copiando se define en algún momento.
¿Estás seguro que esa función está definida?
¿Está startPressUP definido en algún sitio?


« Última modificación: 17 Septiembre 2016, 13:53 pm por Jeferi » En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #2 en: 17 Septiembre 2016, 15:54 pm »

y si quiero enviar un array, seria lo mismo?
En línea

Jeferi


Desconectado Desconectado

Mensajes: 886



Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #3 en: 17 Septiembre 2016, 16:47 pm »

y si quiero enviar un array, seria lo mismo?

Sí. Puedes enviar un array también.

Código
  1. $.ajax({
  2.    ...,
  3.    data: { parametro: [1, 2, 3, 4] },
  4.    ....
  5. }
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #4 en: 17 Septiembre 2016, 17:15 pm »

pero si:

lo vuelvo array la variable "copiando" solo para probar si funciona !!! arriba declaro var copiando=[]; y en vez de copiando=delta; lo modifique asi: copiando.push(delta);

y el resultado es "undefined"
En línea

Jeferi


Desconectado Desconectado

Mensajes: 886



Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #5 en: 17 Septiembre 2016, 19:09 pm »

Haz post de la parte del servidor que maneja esta petición (donde hacer console.log de copiando)
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #6 en: 18 Septiembre 2016, 02:07 am »

Código:
app.post('/servidor', function(req,res){
   
    console.log(req.body.fact);
   
});

ese es el codigo del servidor
En línea

bengy


Desconectado Desconectado

Mensajes: 501


mis virtudes y defectos son inseparables


Ver Perfil WWW
Re: ajax no envia variable
« Respuesta #7 en: 18 Septiembre 2016, 05:12 am »

para solucionarlo tuve que serializarlo

asi:
Código:
data: { fact: JSON.stringify(copiando)},

y funciono!!! muchas gracias Jeferi
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines