Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Enviar y Retornar VARIAS variables entre JQUERY y PHP

Estas en el tema de Enviar y Retornar VARIAS variables entre JQUERY y PHP en el foro de Jquery en Foros del Web. Hola buen dia, queria ver si me ayudaban a resolver esto. La cuestion es que tengo mi form en HTML y deseo enviar los valores ...
  #1 (permalink)  
Antiguo 13/11/2012, 11:31
 
Fecha de Ingreso: agosto-2012
Ubicación: México
Mensajes: 106
Antigüedad: 11 años, 8 meses
Puntos: 6
Enviar y Retornar VARIAS variables entre JQUERY y PHP

Hola buen dia, queria ver si me ayudaban a resolver esto. La cuestion es que tengo mi form en HTML y deseo enviar los valores seleccionados de varios elementos
<select id="uno">
<option value="1"></option>
<option value="2"></option>
</select>
que el usuario haya seleccionado, tomar estos valores y enviarlos a través de $.post () a PHP para que PHP consulte con estos valores mi BDD y le retorne a jQuery varios valores en variables para imprimirlos en unos divs de mi formulario. la cuestión es que, no logro hacer lo básico, que seria, que PHP le retorne varios valores a mi $.post() de jQuery, solo puedo enviarle un valor, pero necesito regresarle 5 valores, y pues se los envío a través de un echo. Este código a continuación es básico, solo necesito imprimir en el alert los 5 valores que le regreso de PHP, pero como les comento solo puedo regresar un solo valor y ese si me lo imprime.

Código Javascript:
Ver original
  1. $.post("consultaDatos.php",{
  2.             tipo_prod:$('#tipo option:selected').val(),
  3.             rango:$('#rango option:selected').val(),
  4.             rangoP:$('#rangoP option:selected').val(),
  5.             tipo_garantia:$('#garantia option:selected').val(),
  6.             financiamiento:$('#financiamiento option:selected').val()
  7.             } ,
  8.             function(data)
  9.             {
  10. //DE ESTA MANERA SI ME FUNCIONA
  11.                 alert(data);
  12. //SI QUIERO LEER VARIOS VALORES QUE ENVIO SEPARADOS POR "," DE PHP NO ME LO HACE
  13.             /*var recoge=data.split(",");
  14.             t = recoge[0];
  15.             r = recoge[1];
  16.             rP = recoge[1];
  17.             t = recoge[1];
  18.             f = recoge[1];
  19.             alert(t);*/
  20.             }//termina FUNTION (data)
  21.         );//termina FUNCION .post

Este es mi codigo PHP
Código PHP:
Ver original
  1. <?php session_start();
  2. //le envio por parametros los valores de las variables de $.post() de jQuery
  3. //si le retorno solo una variable si funciona, si descomento las demás para
  4. //enviarle todas no funciona :/
  5. function respuesta($tipo_prod,$rango,$rangoP,$tipo_garantia,$financiamiento){
  6. echo $tipo_prod/*.","$rango.",".$rangoP.",".$tipo_garantia.",".$financiamiento*/;  
  7. }
  8. //verifica que se hayan definido las variables y que no esten nulas
  9. if (isset($_POST['tipo_prod'])){
  10.     if (isset($_POST['rango'])){
  11.         if (isset($_POST['rangoP'])){
  12.             if (isset($_POST['tipo_garantia'])){
  13.                 if (isset($_POST['financiamiento'])){
  14.                     //lee las variables del $.post() de jQuery
  15.                     respuesta($_POST['tipo_prod'],$_POST['rango'],$_POST['rangoP'],$_POST['tipo_garantia'],$_POST['financiamiento']);
  16.                 }
  17.             }
  18.         }
  19.     }
  20.  
  21. }
  22.  
  23. ?>

Como podria hacer que $.post() de mi codigo jQuery me reciba y lea todas las variables que le envio en el 'echo' desde PHP, logrando esto ya podre manipularlas como yo desee en jQuery para imprimirlas o hacerles lo que quiera.
  #2 (permalink)  
Antiguo 13/11/2012, 11:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar y Retornar VARIAS variables entre JQUERY y PHP

recuerda que puedes devover la respuesta como quieres, por ejemplo construir un JSON desde PHP y que lo tome jQuery, de hecho, jquery lo contempla, no sólo texto plano
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/11/2012, 11:54
 
Fecha de Ingreso: agosto-2012
Ubicación: México
Mensajes: 106
Antigüedad: 11 años, 8 meses
Puntos: 6
Respuesta: Enviar y Retornar VARIAS variables entre JQUERY y PHP

Hola Maycolalvarez gracias por tu respuesta, realmente no tengo conocimiento de JSON :S quiere decir que lo estoy haciendo mal??
  #4 (permalink)  
Antiguo 13/11/2012, 13:03
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 10 meses
Puntos: 1567
Respuesta: Enviar y Retornar VARIAS variables entre JQUERY y PHP

Tenes varios errores, debería ser asi (para evitar hacer el form pasé lods valores directamente)

Código HTML:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <title>titulo</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
  7. </head>
  8. <button id="procesarform">Enviar</button>
  9. <script type="text/javascript">
  10. //<![CDATA[
  11. $(document).ready(function(){
  12. $('#procesarform').click(function() {  
  13. $.post("consultaDatos.php",{
  14.            tipo_prod:'prod_1',
  15.            rango:'rango_1',
  16.            rangoP:'rangoP_1',
  17.            tipo_garantia:'garantia_1',
  18.            financiamiento:'financiamiento_1'
  19.            } ,
  20.            function(data)
  21.            {
  22. //DE ESTA MANERA SI ME FUNCIONA
  23.       alert(data);
  24. //SI QUIERO LEER VARIOS VALORES QUE ENVIO SEPARADOS POR "," DE PHP NO ME LO HACE
  25.            var recoge=data.split(",");
  26.            var t = recoge[0];
  27.            var r = recoge[1];
  28.            var rP = recoge[2];
  29.            var t2 = recoge[3];
  30.            var f = recoge[4];
  31.          alert(t +'-'+r+'-'+rP);
  32.            }//termina FUNTION (data)
  33.        );//termina FUNCION .post
  34.        
  35.   }); // fin $click enviar    
  36.   });
  37. //]]>
  38. </body>
  39. </html>

en tú código, usas
r = recoge[1];
rP = recoge[1];
t = recoge[1];
f = recoge[1];
que es siempre el segundo elemento del array recoge

Y tu php se puede simplificar

Código PHP:
Ver original
  1. <?php
  2. if (isset($_POST['tipo_prod'])){
  3. echo $_POST['tipo_prod'] . ',';
  4. }
  5. if (isset($_POST['rango'])){
  6. echo $_POST['rango'] . ',';
  7. }
  8. if (isset($_POST['rangoP'])){
  9. echo $_POST['rangoP'] . ',';
  10. }
  11. if (isset($_POST['tipo_garantia'])){
  12. echo $_POST['tipo_garantia'] . ',';
  13. }
  14. if (isset($_POST['financiamiento'])){
  15. echo $_POST['financiamiento'];
  16. }
  17. ?>

faltarían posibles validaciones en el php

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Última edición por emprear; 13/11/2012 a las 13:14
  #5 (permalink)  
Antiguo 15/11/2012, 11:28
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Enviar y Retornar VARIAS variables entre JQUERY y PHP

Cita:
Iniciado por art_rockerd Ver Mensaje
Hola Maycolalvarez gracias por tu respuesta, realmente no tengo conocimiento de JSON :S quiere decir que lo estoy haciendo mal??
que no uses JSON no quiere decir que esté malo, sólo que no lo haces de la manera optima, tambien puedes usar XML, o incluso dividir la cadena con separadores, realmente puedes elegir cual te convence
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #6 (permalink)  
Antiguo 20/12/2012, 17:06
 
Fecha de Ingreso: agosto-2012
Ubicación: México
Mensajes: 106
Antigüedad: 11 años, 8 meses
Puntos: 6
Respuesta: Enviar y Retornar VARIAS variables entre JQUERY y PHP

Muchas Gracias, ya quedo con las modificaciones que me indicaron. Gracias!

Etiquetas: $.post, php+ajax+formularios
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:26.