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

Enviar y obtener JSONP desde node.js

Estas en el tema de Enviar y obtener JSONP desde node.js en el foro de Node.js en Foros del Web. Compañeros cordial saludo, Estoy realizando una petición ajax a un server node.js con journey, se envía los datos jsonp correctamente pero cuando el server responde ...
  #1 (permalink)  
Antiguo 27/05/2012, 10:31
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Enviar y obtener JSONP desde node.js

Compañeros cordial saludo,

Estoy realizando una petición ajax a un server node.js con journey, se envía los datos jsonp correctamente pero cuando el server responde con datos también en formato jsonp ocurre el siguiente error (aparece en el navegador):

"Uncaught SyntaxError: Unexpected token :"

En el cliente estoy haciendo lo siguiente:

Código Javascript:
Ver original
  1. $.ajax({
  2.                 type: 'POST',
  3.                 url: "http://localhost:9393/month",
  4.                 data: {id: 2, name: "nnnn" },
  5.                 dataType: "JSONP",
  6.                 complete: function(data) {
  7.                     console.log(data);
  8.                 }
  9.             });


En el servidor tengo lo siguiente:

Código Javascript:
Ver original
  1. this.get(/\/month/[0-9]).bind( function (req, res){
  2.         res.send(200, {}, {
  3.             "hello": "world"
  4.         });
  5. });


Al ejecutar http://localhost:9393/month en el navegador, este me muestra lo siguiente:

{"hello":"world"}

Pero si lo sigo haciendo vía ajax me aparece este error:

month:1 - Uncaught SyntaxError: Unexpected token :

Dice que en month:1, al abrirlo me sale esto:
{"hello":"world"}

Es decir, lo mismo que si lo ejecuto en el navegador, no sé que estoy haciendo mal o por qué el ajax no me quiere recibir lo que el server envía como jsonp
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 27/05/2012, 11:59
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Enviar y obtener JSONP desde node.js

Listo, ya me funcionó, por si alguien lo necesita lo logré de esta forma:

Código Javascript:
Ver original
  1. this.get(/\/month/[0-9]).bind( function (req, res, params){
  2.         res.sendJSONP(
  3.             params.callback, {
  4.                 id: params.id,
  5.                 name: params.name
  6.             }
  7.         );
  8.     });

La función debe tomar params que son los datos y el callback que envía ajax,
No usar res.send sino res.sendJSONP, no sabía que existía hasta hace poco, le envíamos el callback que se va a usar (el success del ajax) y le enviamos todos los datos que queramos, en este caso yo retorné el mismo id y name que envié.

Saludos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175

Etiquetas: ajax, journey, jquery, jsonp
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 17:31.