lunes, 16 de febrero de 2009

Ejemplo de envío de datos mediante POST en AJAX

A pesar de la carga al servidor que implica, a menudo conviene enviar los parámetros para una operación mediante POST en vez de GET, ya que el GET escribe los parámetros en la url.

Para realizar una Request usando post, también debemos componer la lista de de parámetros como quedaría en la URL:

campo1=valor
$campo2=valor

Por ejemplo:

'campo1='+document.getElementById('campo1').value
+ '&campo2='+document.getElementById('campo2').value

Posteriormente, debemos enviar esos valores mediante la función send del objeto request.

ajax.open ('POST', url, true);
ajax.onreadystatechange=funcion;
ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
ajax.send(valores);

El setRequestHeader es útil en caso de que el Content-Type se quiera cambiar a XML en vez de dejarlo por defecto en el fichero php al que se llame, por razones de prueba.

No hay comentarios: