Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/10/2013, 15:12
dijor69
 
Fecha de Ingreso: marzo-2007
Mensajes: 42
Antigüedad: 17 años, 9 meses
Puntos: 0
Recibir variables Post en AJAX para reenviar por post a PHP

Buenas noches,

Estoy trabajando en un backpage para la actualización de contenidos de una web.

Tengo un div de Menu y un div de Página, donde Pagina se actualiza el contenido con un script de ajax según la sección en la que esté recuperando funciones de un archivo php.

El script con el que actualizo el div pagina, es el siguiente:
Código:
var Conexion=false; // Variable que manipula la conexion.

// funcion que realiza la conexion con el objeto XMLHTTP...
function Conectar()
{
	if(window.XMLHttpRequest)
		Conexion=new XMLHttpRequest(); //mozilla
	else if(window.ActiveXObject)
		Conexion=new ActiveXObject("Microsoft.XMLHTTP"); //microsoft
}


function Contenido(idContenido)
{
	/* readyState devuelve el estado de la conexion. puede valer:
	 *	0- No inicializado (Es el valor inicial de readyState)
	 *	1- Abierto (El método "open" ha tenido éxito)
	 *	2- Enviado (Se ha completado la solicitud pero ningun dato ha sido recibido todavía)
	 *	3- Recibiendo
	 *	4- Respuesta completa (Todos los datos han sido recibidos)
	 */

	// En espera del valor 4
	if(Conexion.readyState!=4) return;
	/* status: contiene un codigo enviado por el servidor
	 *	200-Completado con éxito
	 *	404-No se encontró URL
	 *	414-Los valores pasados por GET superan los 512
	 * statusText: contiene el texto del estado
	 */
	if(Conexion.status==200) // Si conexion HTTP es buena !!!
	{
		/* Modificamos el identificador temp con el valor recibido por la consulta
		 *	Podemos recibir diferentes tipos de datos:
		 *	responseText-Datos devueltos por el servidor en formato cadena
		 *	responseXML-Datos devueltos por el servidor en forma de documento XML
		 */
		document.getElementById(idContenido).innerHTML=Conexion.responseText;
	}else{
		document.getElementById(idContenido).innerHTML=Conexion.status+"-"+Conexion.statusText;
	}
	
	Conexion=false;
}

function Solicitud(Servidor,idContenido,funcion)
{
	// Si ya esta conectado, cancela la solicitud en espera de que termine
	if(Conexion) return; // Previene uso repetido del boton.
	
	// Realiza la conexion
	Conectar();
	
	
	// Si la conexion es correcta...
	if(Conexion)
	{
		/* Preparamos una conexion con el servidor:
		 *	POST|GET - determina como se envian los datos al servidor
		 *	true - No sincronizado. Ello significa que la página WEB no es interferida en su funcionamiento
		 *	por la respuesta del servidor. El usuario puede continuar usando la página mientras el servidor
		 *	retorna una respuesta que la actualizará, usualmente, en forma parcial.
		 *	false - Sincronizado */
		Conexion.open("POST",Servidor,true);

		// Cada vez que el estado de la conexión (readyState) cambie se ejecutara el contenido de esta "funcion()"
		Conexion.onreadystatechange=function()
		{
			Contenido(idContenido);
		}
		
		/* Realiza la solicitud al servidor. Puede enviar una cadena de caracteres, o un objeto del tipo XML
		 * Si no deseamos enviar ningun valor, enviamos null */
		Conexion.send(null); /* Aqui pondré la variable resultado con los post */
	}else
		document.getElementById(idContenido).innerHTML="No disponible";
}

window.onload=function()
{
	Solicitud("paginas/a.html","pagina"); // Inicializamos con la primera pagina
}
Bien, con este script, si mando una variable tipo "funciones.php?funcion=forumlario" me funciona bien para recuperar por GET la función a ejecutar.

Existen alrededor de 30 formularios que tienen campos diferentes un ejemplo seria este:
Código:
<div>
		<form action=\"javascript:Solicitud('functions.php?funcion=formulario','pagina');\" method='post'>
		Titulo: <input type='text'  name='titulo' maxlength='20'> <br>
		Texto: <textarea rows='5' name='texto' cols='60'></textarea><br>
		<input type='submit' value='Guardar'> <br>
		</form>
</div>
Necesito que esté script recoja todas las variables que recibe mediante POST de cualquiera de los formularios en una variable y volver a mandarlas con "Conexion.send(variable); " con el metodo POST para recuperarlas mediante $_POST en un archivo PHP, sin tener que especificar cuales los nombres de las variables que va a recibir.

¿Alguien puede ayudarme? De php entiendo algo, pero de ajax y java estoy perdido

Un saludo y gracias por todo