Título: !Ayuda, ajax no funciona,en express.js Publicado por: bengy en 29 Agosto 2016, 00:06 am Código
Código
el error que me sale es parseerror, como lo soluciono ? Título: Re: ajax no funciona, ayuda porfavor Publicado por: bengy en 29 Agosto 2016, 01:21 am el error que sale es "server request failed parseerror", ayuda no soy muy bueno con desarrollo web
saludos... Título: Re: ajax no funciona, ayuda porfavor Publicado por: #!drvy en 29 Agosto 2016, 08:57 am Cuando declaras dataType y contentType en el AJAX de jQuery, te debes asegurar tanto de enviar los datos en el formato correcto, como de recibirlos de dicha forma.
En este caso, declaras que lo que estas enviando es JSON y lo que esperas recibir es también JSON. PHP sin embargo responde de forma pura y ademas te tira un error porque ese parámetro no es reconocible para PHP (envías una cadena JSON la cual PHP no puede tratar). PHP no conoce esa forma de recibir datos. Lo mejor que puedes hacer es quitar el contentType:'application/json', de tu código para que detecte automáticamente el formato por el que mandarlo. Si lo quitas, PHP reconocerá como POST las variables que mandes y podrás usar el array iterator para obtener el valor de keystrokes. Para devolverlo, lo mismo, debes hablar el mismo idioma por el que te fue pedido.. lo debes devolver en JSON. La mejor forma seria: Código En la primera linea, le dices al navegador que lo que le vas a dar es contenido JSON. En la segunda, te aseguras que $resultado es tratado como array para que json_encode funcione. Y en la tercera, haces que el script "muera" devolviendo la variable $resultado como JSON. Resumen: - Quitamos la linea contentType del javascript. - Cambiamos la forma en la que PHP devuelve el resultado para que jQuery lo trate bien y no le haga bullying. Otras cosas a considerar: - No uses .request.error() o al menos, no de esa forma. Es muy bruto. Usa solo .fail o asegúrate de que solo tire el alert() si realmente hay un error. La forma en la que esta puesto, tirara un alert() aunque no haya error. - Para hacer debug correctamente quita las re direcciones y usa console.log() - Deberías hacer que jQuery se cargue al final del body, igual que el resto de tu script. Saludos Título: Re: ajax no funciona, ayuda porfavor Publicado por: bengy en 29 Agosto 2016, 16:18 pm muchas gracias por responder, me ayudo mucho, pero aun sigue saliendo error "undefined" borre el contentType del javascript.
modifique el .php Código
muchas gracias, espero que puedan ayudarme Título: Re: ajax no funciona, ayuda porfavor Publicado por: bengy en 29 Agosto 2016, 22:12 pm ayuda, yo se que esto es simple para ustedes, pero a mi me esta costando mucho, no se que pasa, como solucionarlo
!!!Ayuda Título: Re: ajax no funciona, ayuda porfavor Publicado por: WHK en 30 Agosto 2016, 03:16 am Hola amigo, te daré unos tips:
Cuando te aparezca un error fijate en que línea te aparece, por lo general los errores dicen el nombre del archivo mas el número de la línea, con eso te podrás dar mas cuenta del problema que debieras tener. Código: if(response.status) { Fijate que en una parte del código dice "response.status", realmente existe "status"?. PHP retorna un valor no? pues ese valor es un array o un objeto, en tu caso cuando envías la petición post desde tu javascript estás enviando el valor "keystrokes : id" y estás escribiendo el mismo resultado desde php, por lo tanto no tienes la variable "status" declarada en ningún lado, por eso dice undefined porque status no está definido. "response" equivale a lo que php entregó, en este caso no es un objeto Código: $resultado = ( is_array($resultado) ? $resultado : array($resultado) ); Lo único que haces en es alínea es entregar el resultado como array. Digamos que $resultado equivale a "hola", entonces el resultado que entrega php queda así: Código: ["hola"] Para solucionar esto, desde php debes crear la variable llamada status y otro donde lleve el valor que desees entregar, por ejemplo: Código: die(json_encode(array('status' => 1, 'resultado' => $resultado)), true); Entonces tendrás un resultado así: Código: { "status": 1, "resultado": "hola" } Ahora desde javascript debes procesar "status" y también "resultado". Prueba con esto: Código
Saludos. Título: Re: ajax no funciona, ayuda porfavor Publicado por: flacc en 30 Agosto 2016, 04:47 am Yo seguiría las recomendaciones de los compañeros de mas arriba, ellos saben de lo que hablan, de todas formas cuéntanos como te va con el tema, y recuerda, te podemos guiar, pero tu debes alcanzar la meta.
Para entrar en detalles mas profundos con javascript, undefined es un estado (por decirlo de alguna forma) que puede aparecer por 2 razones:
Cuando undefined aparece porque la variable no fue inicializada el error debiera ser de referencia (ReferenceError, que es capturable con try catch), por otra parte, cuando se intenta acceder a una variable no definida (valga la redundancia), javascript nos notifica que la variable no existe con undefined (indefinida). Ahora bien, cuando evaluamos expresiones con undefined se comporta de la siguiente manera:
De acuerdo a lo que comento, podemos realizar las siguientes operaciones con variables y undefined: Código
Bien, creo que lo he explicado relativamente entendible, ahora bien, el tema de undefined también se aplica a los arreglos con sub incides no definidos, y una cosa muy importante a la hora de jugar con esto, es que undefined es asignable (entre comillas). Código
Espero te sirva la explicación de undefined. Saludos Título: Re: ajax no funciona, ayuda porfavor Publicado por: bengy en 30 Agosto 2016, 06:44 am hice algunos cambios Citar - Deberías hacer que jQuery se cargue al final del body, igual que el resto de tu script. en el js Código: $(window).on('load', function() { y en ves de type lo puse method Código: method : 'POST', y funciono gracias amigos, en realidad muchas gracias Título: Re: ajax no funciona, ayuda porfavor Publicado por: bengy en 30 Agosto 2016, 23:52 pm ahora estoy intentado implementar ajax en express.js
este es el layout.jade Código
mi formulario Código
este es mi js Código
y en mi app.js puse este codigo que encontre en https://gist.github.com/diorahman/1520485 Código
me sale error 404 por consola, y por alert sale error en el app.js siento que es el error, ayuda!!! Título: Re: !Ayuda, ajax no funciona,en express.js Publicado por: bengy en 31 Agosto 2016, 03:47 am el app.js modifique de la siguiente manera
Código: app.get('/', function (req, res){ pero aun no funciona, Título: Re: !Ayuda, ajax no funciona,en express.js Publicado por: bengy en 1 Septiembre 2016, 02:28 am me respondo a mi mismo, modifique el archivo app.js
Código: app.post('/servidor', function(req,res){ las variables status, result,message son invocadas desde el js(ajax) y funciono, saludos y muchas gracias por la ayuda |