Foros del Web » Programando para Internet » Jquery »

Jquery validate que devuelve json de lado servidor

Estas en el tema de Jquery validate que devuelve json de lado servidor en el foro de Jquery en Foros del Web. Estoy intentado recibir una respuesta json de lado servidor (PHP), siendo que por default jquery validate espera un boolean. Viendo esto por consola todo parece ...
  #1 (permalink)  
Antiguo 12/11/2012, 12:49
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Jquery validate que devuelve json de lado servidor

Estoy intentado recibir una respuesta json de lado servidor (PHP), siendo que por default jquery validate espera un boolean.

Viendo esto por consola todo parece ir bien. Devuelvo una variable json y dentro el true / false. Pero sin embargo validate siempre me marca error en la validacion remota.

Este es un fragmento del codigo js:

Código Javascript:
Ver original
  1. email: {                  
  2.                 email: true,
  3.                 remote: function() {  
  4.                     var r = {  
  5.                         url: "/account/user/validMail",  
  6.                         type: "POST",  
  7.                         contentType: "application/x-www-form-urlencoded; charset=utf-8",  
  8.                         dataType: "json",  
  9.                         data: {'email': function(){ return j('#mail').val(); }},
  10.                         dataFilter: function(data) { return (JSON.parse(data)).available; }  
  11.                        }  
  12.                    
  13.                     return r;  
  14.                   }              
  15.             }

Y esto es php:
Código PHP:
Ver original
  1. public function validMailAction()
  2.         {
  3.        
  4.             $data['available'] = ClientUser::availableMail($_REQUEST['email']);      
  5.            
  6.             echo json_encode($data);  
  7.         }

Como hago para que el resultado de remote sea el contenido de la variable "available"? Yo esperaría que eso derivara del metodo dataFilter pero no lo veo funcionar.

La referencia de lo que estoy haciendo es esta:
http://stackoverflow.com/questions/2...-to-webservice
  #2 (permalink)  
Antiguo 12/11/2012, 12:51
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Jquery validate que devuelve json de lado servidor

Amplio un poco. Por conola puedo ver que esto devuelve tru o false, segun el caso, lo cual esta bien:

Código Javascript:
Ver original
  1. (JSON.parse(data)).available;

Por que validate no lo toma en cuenta?
  #3 (permalink)  
Antiguo 12/11/2012, 12:57
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Jquery validate que devuelve json de lado servidor

Lo resolví!
Hay que convertir la respuesta a string. Así:
Código Javascript:
Ver original
  1. dataFilter: function(data) {
  2.                             var result =  (JSON.parse(data)).available;
  3.                             return JSON.stringify(result);
  4.                         }

Etiquetas: Ninguno
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 16:44.