Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Envio de Formulario POST con Ajax

Estas en el tema de Envio de Formulario POST con Ajax en el foro de Frameworks JS en Foros del Web. Hola chicos, tengo un problema con Ajax. Bueno la cosa es asi, el ajax funciona bien, pero a la hora de tomar las variables de ...
  #1 (permalink)  
Antiguo 22/03/2011, 01:57
 
Fecha de Ingreso: octubre-2010
Ubicación: Mountain View, United States.
Mensajes: 87
Antigüedad: 13 años, 5 meses
Puntos: 1
Exclamación Envio de Formulario POST con Ajax

Hola chicos, tengo un problema con Ajax.

Bueno la cosa es asi, el ajax funciona bien, pero a la hora
de tomar las variables de POST no las toma.

Envio el formulario con method="post" pero cuando quiero recibir
las variables enviadas por el formulario
no las toma.

Encontre algo que me podria ayudar, pero siempre lo envia en GET y yo no quiero eso.


Les dejo los codigos:


Ajax.js:
Código Javascript:
Ver original
  1. function objetoAjax(){
  2.         var xmlhttp=false;
  3.         try {
  4.                 xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  5.         } catch (e) {
  6.                 try {
  7.                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  8.                 } catch (E) {
  9.                         xmlhttp = false;
  10.                 }
  11.         }
  12.  
  13.         if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  14.                 xmlhttp = new XMLHttpRequest();
  15.         }
  16.         return xmlhttp;
  17. }
  18.  
  19. function MostrarConsulta(datos){
  20.         divResultado = document.getElementById('resultado');
  21.         ajax=objetoAjax();
  22.         ajax.open("POST", datos);
  23.         ajax.onreadystatechange=function() {
  24.                 if (ajax.readyState==4) {
  25.                         divResultado.innerHTML = ajax.responseText
  26.                 }
  27.         }
  28.         ajax.send(null)
  29. }


El formulario:

Código PHP:
Ver original
  1. <form method="post" onsubmit="MostrarConsulta('consulta.php'); return false" ><br />
  2. <input type="hidden" name="inpro" id="inpro" value="<?php echo "$idp"; ?>"/>
  3. <input type="hidden" name="fromuser" id="fromuser" value="<?php echo $_SESSION['username']; ?>"/>
  4. <input type="hidden" name="date" id="date" value="<?php echo "$date"; ?>"/>
  5. <textarea name="text" id="text" rows="5" tabindex="1" cols="50" style="margin-left:30px;"></textarea><br><br><br>
  6.   <div id="resultado"></div>
  7. <input value="Agregar" onclick="document.formulario.submit()" class="input_submit" type="submit" name="posting"/><br /><br />
  8. </form>


el archivo Consulta.php
Código PHP:
Ver original
  1. <?php
  2. $inpro = stripslashes($_POST['inpro']);
  3. $date = stripslashes($_POST['date']);
  4. $text = stripslashes($_POST['text']);                
  5. $fromuser = stripslashes($_POST['fromuser']);
  6. $date = stripslashes($_POST['date']);
  7.  
  8. if (empty($text)) {
  9.     echo "<br><b>Ingresa un texto!<br /></b>";  $Error=1;
  10. }
  11.  
  12. if ($Error!=1){
  13. $link = mysql_connect("localhost", "root", "idontknow");
  14. mysql_select_db("thefantasticdb",$link);
  15. $msquery3 = mysql_query("INSERT INTO comments (`inpro`, `fromuser`, `date`, `text`) VALUES
  16. ('$inpro', '$fromuser', '$date', '$text')");
  17. echo "exito!";
  18. }
  19.  
  20. ?>

A la hora de tomar " $text = stripslashes($_POST['text']); " no lo toma.


Espero puedan ayudarme amigos.
  #2 (permalink)  
Antiguo 22/03/2011, 04:22
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Envio de Formulario POST con Ajax

Hola:

Para enviar por post debes poner la cabecera adecuada, y el contenido deberías escaparlo, pero te advierto que con Ajax, los envíos con algo de complejidad te van a dar más de un dolor de cabeza... además, la idea de ajax es pequeñas peticiones al servidor, y no envíos de datos.

Fácilmente podría enviar el formulario de forma estándar a por ejemplo un iframe oculto.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 22/03/2011, 11:52
 
Fecha de Ingreso: octubre-2010
Ubicación: Mountain View, United States.
Mensajes: 87
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: Envio de Formulario POST con Ajax

Lo solucione con otro codigo AJAX, Muchas gracias loco.

Etiquetas: ajax, envio, post, formulario
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 00:34.