Foros del Web » Programando para Internet » Jquery »

Ajax callback

Estas en el tema de Ajax callback en el foro de Jquery en Foros del Web. Hola, De antemano muchas gracias, tengo el siguiente código @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original < script type = "text/javascript" >     function ...
  #1 (permalink)  
Antiguo 27/04/2015, 13:28
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 12 años, 5 meses
Puntos: 12
Ajax callback

Hola,

De antemano muchas gracias, tengo el siguiente código
Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     function generate(type,msm) {
  3.         var n = noty({
  4.             text        : msm,
  5.             type        : type,
  6.             dismissQueue: true,
  7.             layout      : 'topRight',
  8.             theme       : 'defaultTheme',
  9.             closeWith   : ['button', 'click'],
  10.             timeout     : 3000
  11.         });
  12.         console.log(type + ' - ' + n.options.id);
  13.         return n;
  14.     }    
  15.     $(document).ready(function(){
  16.         $("#btn").click(function(event){
  17.             $.ajax({
  18.                 url: 'retorno.php',
  19.                 data: { id : 5 , metodo : 'algo' },
  20.                 type : 'POST',
  21.                 success : function(retorno){
  22.                     // alert(retorno == true);
  23.                     if(retorno == true){
  24.                         var warning = generate('success','Obtenido satisfactoriamente');
  25.                     } else {
  26.                         var warning = generate('warning','Ya existe el registro');
  27.                     }
  28.                 }
  29.             });
  30.         });
  31.     });
envio un prametro a retorno.php pero en este
Código PHP:
Ver original
  1. $fun  = array('Wilmer', 'Laura', 'Maribel');
  2. if(isset($fun[$_POST['id']])){
  3.     echo true;
  4. } else {
  5.     echo false;
  6. }
y funciona, sin embargo en
Código PHP:
Ver original
  1. $fun  = array('Wilmer', 'Laura', 'Maribel');
  2. if(isset($fun[$_POST['id']])){
  3.     return true;
  4. } else {
  5.     return false;
  6. }
ya no funciona, en un proyecto MVC no se debería imprimir en el controlador solo en la vista, y hacer una vista solo para imprimir true o false (no me parece). habrá algúna manera de obtener el tru o false o un valor de retorno sin tener que imprimir en por ejemplo retorno.php?
  #2 (permalink)  
Antiguo 27/04/2015, 13:55
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 8 años, 10 meses
Puntos: 578
Respuesta: Ajax callback

¿Sabes para qué se utiliza la sentencia return?

Para retornar un valor de salida de una función, no para imprimir... para eso está echo.
  #3 (permalink)  
Antiguo 27/04/2015, 14:18
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 12 años, 5 meses
Puntos: 12
Respuesta: Ajax callback

Claro que se para que se utiliza una sentencia return (en php).
Lo que necesito saber es

Cita:
"habrá algúna manera de obtener el true o false o un valor de retorno sin tener que imprimir en por ejemplo retorno.php?"
Gracias
  #4 (permalink)  
Antiguo 28/04/2015, 01:44
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.539
Antigüedad: 10 años, 7 meses
Puntos: 970
Respuesta: Ajax callback

Utiliza un archivo intermedio que sirva como puente si es que no deseas realizar la impresión en ese archivo, pues el valor retornado por return no puede ser accedido directamente desde el cliente.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 28/04/2015, 09:07
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 12 años, 5 meses
Puntos: 12
Respuesta: Ajax callback

Tiene mucho sentido lo que dices, me queda dudas por ejemplo: si usara un archivo intermedio, este sería accedido por el cliente, los valore que tengan el archivo intermedio deberían ser modificados según el return?.

Ten en cuenta que uso proyecto MVC, y el archivo intermedio no debería afectar a lo que son los principios de MVC.
  #6 (permalink)  
Antiguo 28/04/2015, 10:05
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.539
Antigüedad: 10 años, 7 meses
Puntos: 970
Respuesta: Ajax callback

Ese archivo intermedio sería parte de la vista pues solo se encargaría de imprimir datos, en este caso, recibe un dato (de la petición asíncrona), se conecta al controlador al cual le envía el dato y recibe una respuesta que imprime y, a la vez, sirve como respuesta a la petición asíncrona.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 28/04/2015, 13:23
 
Fecha de Ingreso: enero-2010
Mensajes: 491
Antigüedad: 12 años, 5 meses
Puntos: 12
Respuesta: Ajax callback

Gracias Alexis, ahora mismo pongo en práctica tu solución.

Etiquetas: ajax, callback
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 15:42.