Enviar todos los campos de un formulario con ajax mediante post
Hasta ahora había utilizado el objeto XMLHttpRequest(); creando funciones que usaban GET para pasar la información. Pero en el caso de formularios, y sobre todo debido a que el envio de información puede superar la cantidad que puede enviarse a través de GET, es útil usar POST. Buscando información sobre el envio de formularios mediante POST con AJAX, me encontraba con que se realizaban envios de uno o dos campos pero nunca de todo un formulario.
function enviarFormulario (url, formid){
var Formulario = document.getElementById (formid);
var longitudFormulario = Formulario.elements.length;
var cadenaFormulario = ¨¨
var sepCampos
sepCampos = ¨¨
for (var i=0; i <= Formulario.elements.length-1;i++) {
cadenaFormulario += sepCampos+Formulario.elements[i].name+´=´+encodeURI (Formulario.elements[i].value);
sepCampos=¨&¨;
}
peticion.open (¨POST¨, url, true);
peticion.setRequestHeader (´Content-Type´, ´application/x-www-form-urlencoded; charset=ISO-8859-1´);
peticion.onreadystatechange = function () {
if (peticion.readyState == 4) {
document.getElementById (´Ficha´).innerHTML = ¨Los datos han sido enviados correctamente¨;
}
}
peticion.send (cadenaFormulario);
}