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

Problema con envio de formulario con método POST y AJAX

Estas en el tema de Problema con envio de formulario con método POST y AJAX en el foro de Frameworks JS en Foros del Web. Tengan un buen día, integrantes del foro. Tengo un problema que involucra AJAX Y PHP, aunque considero que el error se encuentra en la parte ...
  #1 (permalink)  
Antiguo 31/05/2007, 18:33
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 7 meses
Puntos: 0
Problema con envio de formulario con método POST y AJAX

Tengan un buen día, integrantes del foro. Tengo un problema que involucra AJAX Y PHP, aunque considero que el error se encuentra en la parte en AJAX pues la parte de PHP que se manda a llamar con AJAX es una variable POST XD)) Tengo un formulario, y de este formulario quiero mandar todos los valores de todos sus elementos, para ello he utilizado un script que bajé de una página de tutoriales, aunque no lo he escrito, pero lo entiendo, claro está. El punto es que el formulario pretendo enviarlo mediante POST, por lo que no es tan simple como con GET. Primeramente este es la pagina donde se encuentra el formulario cuyos datos pretendo enviar a un script PHP cargado con AJAX en la misma página, exactamente en un DIV con id=”contenido”.

Formulario.html

Código:
<html> 
<head> 
<title>Envío de formulario con AJAX</title> 
<script language="JavaScript" type="text/javascript" src="ajax.js"></script>
</head> 
<body> 
<form  name="myform" id="myform"> 

<label for="mi_nombre">Ingrese su nombre:</label> <br /> 

<input type="text" name="name" id="name" /><br /> 

<label for="mi_apellido">Ingrese su apellido:</label> <br /> 

<input type="text" name="ape" id="ape" /><br />
 
<input type="submit" name="button" value="Enviar"  onClick="getPag(post.php)" />
 
</form> <br /><br /> 
Respuesta del servidor: <br /> 

<div id="contenido"></div> 

</body>
</html>
Y el archivo ajax.js que mando a llamar que contiene la lógica.
Código:
   var http_request = false; 
function makePOSTRequest(url, parametros) { 
      http_request = false; 
try 
{
http_request = new XMLHttpRequest();
}
catch(err1)
{
  try
   {
    http_request = new ActiveXObject("Msxml2.XMLHTTP");
   }
  catch (err2)
   {
     try
	  {
       http_request = new ActiveXObject("Microsoft.XMLHTTP");
      } 
	 catch (err3)
	  {
      http_request = false;
      }
   }
}
      http_request.onreadystatechange = alertContents(); 
      http_request.open('POST', url, true); 
      http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
      http_request.setRequestHeader("Content-length", parametros.length); 
      http_request.setRequestHeader("Connection", "close"); 
      http_request.send(parametros); 

   } 
   function alertContents()
   { 
      if (http_request.readyState == 4)
        { 
         if (http_request.status == 200)
	 { 
                 result = http_request.responseText; 
                 document.getElementById("contenido").innerHTML = result;            
                } 
         else 
	  { 
                  alert('Hubo algún problema con la petición.'); 
                 } 
         } 
   }    
   function getPag(vinc)
     {  
       var largoForm = document.forms[0].length; var i = 1; var indice;
      while (i <= largoForm)
	    {
		 indice = i - 1;
			if (indice == 0)
			  {
                                              /* Nada, pues si el indice es 0, no hay otra variable antes que el a la       
                                                 cual adjuntarse*/
                                              }
			else
			   {
			    poststr += "&";
			    }
	     poststr += encodeURI(document.forms[0].elements[indice].name) + "=" + 
		            encodeURI(document.forms[0].elements[indice].value);	
		}
		var vinculo = vinc;
      makePOSTRequest(vinculo,poststr); 
   }
El punto es que al visualizarlo en el navegador, lo que pretendo es que al presionar el único botón que tiene el formulario, mandar todos los valores de los elementos del formulario a un script llamado post.php colocado en la misma carpeta, pero al presionar el botón, en la parte de la url en el navegador, aparece de la siguiente forma:

localhost:8097/ajax/formulario.html?name=&ape=&button=Enviar

Como si fuese una solicitud GET cuando en realidad es POST, y no me carga el script PHP, y no puedo visualizar cual es el error, y de paso, si talvez me pudiesen recomendar algún buen editor de javascript en el cual pudiera visualizar la causa de error en algún script o algo por el estilo.
  #2 (permalink)  
Antiguo 01/06/2007, 06:04
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
Re: Problema con envio de formulario con método POST y AJAX

http://www.forosdelweb.com/showthrea...highlight=POST

Espero que te sirva el URL
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 04/06/2007, 11:00
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 7 meses
Puntos: 0
Re: Problema con envio de formulario con método POST y AJAX

Si, es exactamente lo que necesitaba. Aunque aún no me funciona bajo las condiciones que necesito, si puedo ver que funciona, muchisimas gracias.
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 18:48.