javascript - test - dmv.ca.gov online services
Solicitud POST(Javascript) (3)
Aunque estoy tomando el ejemplo de código de @sundeep answer, pero estoy publicando el código aquí para completar.
var url = "sample-url.php";
var params = "lorem=ipsum&name=alpha";
var xhr = new XMLHttpRequest();
xhr.open("POST", url, true);
//Send the proper header information along with the request
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send(params);
¿Cómo se realiza una solicitud POST simple en Javascript sin utilizar formularios y sin contabilizar?
He realizado una función que envía una solicitud sin actualizar la página , sin abrir una página y sin AJAX . El proceso es invisible para el usuario. Utilizo un iframe falso para enviar una solicitud:
/**
* Make a request without ajax and without refresh the page
* Invisible for the user
* @param url string
* @param params object
* @param method string get or post
**/
function requestWithoutAjax( url, params, method ){
params = params || {};
method = method || "post";
// function to remove the iframe
var removeIframe = function( iframe ){
iframe.parentElement.removeChild(iframe);
};
// make a iframe...
var iframe = document.createElement(''iframe'');
iframe.style.display = ''none'';
iframe.onload = function(){
var iframeDoc = this.contentWindow.document;
// Make a invisible form
var form = iframeDoc.createElement(''form'');
form.method = method;
form.action = url;
iframeDoc.body.appendChild(form);
// pass the parameters
for( var name in params ){
var input = iframeDoc.createElement(''input'');
input.type = ''hidden'';
input.name = name;
input.value = params[name];
form.appendChild(input);
}
form.submit();
// remove the iframe
setTimeout( function(){
removeIframe(iframe);
}, 500);
};
document.body.appendChild(iframe);
}
Ahora puedes hacerlo:
requestWithoutAjax(''url/to'', { id: 2, price: 2.5, lastname: ''Gamez''});
¡Vea cómo funciona !: http://jsfiddle.net/b87pzbye/10/ .
Puede hacer esto usando llamadas AJAX (objeto XMLHttpRequest)