Función AJAXCall
27 febrero 2019
Hacer llamadas en AJAX del cliente al servidor en una aplicación web requiere de una serie de instrucciones que siempre son iguales (o muy parecidas salvo cambiando algunos parámetros), para realizar estas llamadas, se propone usar la siguiente función, que simplifica dicha llamada el AJAX:
result = AJAXCall(modulo, formId);
Donde ‘modulo‘ es la dirección de la página en el servidor a la que se quiere llamar, y ‘formId‘ puede ser el identificador del formulario que contiene los datos que queremos mandar al servidor, o directamente, podría ser el dato o conjunto de datos para mandar al servidor. dicha función se definiría del siguiente modo:
function AJAXCall(module, formId) { var m=module+"_m.php"; var f, i, data, pair, postData=""; if( (f=$(formId)) && (data=new FormData($(formId))) ) { if(data.entries) { // para chrome y firefox for(pair of data.entries()) postData+=pair[0] + "=" + encodeURIComponent(pair[1]) + "&"; // encodeURIComponent -> scape de caracteres como '+' y otros } else { // para edge, explorer, safari, opera, ... postData=GetDataForm(f); } } else postData=formId; ajaxM = new XMLHttpRequest(); ajaxM.open("POST", m, false); ajaxM.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); ajaxM.send(postData); return ajaxM.responseText; }