¿Cómo se hace una simple solicitud POST en Javascript sin usar formularios y sin publicar de nuevo?POST Request (Javascript)
Respuesta
Usted puede hacer esto mediante llamadas AJAX (objeto XMLHttpRequest)
Creo que si quisiera usar AJAX lo hubiera usado. En mi respuesta he hecho una solicitud posterior ** sin 'AJAX' ** y sin abrir una página, ventana emergente o actualizar la página :). –
Aunque estoy tomando el ejemplo de código de respuesta @sundeep, pero publicar 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);
Tan simple, me encanta: D –
He hecho 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. Yo uso un falso marco flotante para enviar una petición:
/**
* 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 usted puede hacerlo:
requestWithoutAjax('url/to', { id: 2, price: 2.5, lastname: 'Gamez'});
ver cómo funciona !: http://jsfiddle.net/b87pzbye/10/.
EDITAR: parece que alguien descubrió cómo hacer una versión funcional que no genere una posible bandera de ataque XSS. http://jsfiddle.net/b87pzbye/37/ –
- 1. AFNetworking y POST Request
- 2. Usando JSON POST Request
- 3. http post request erlang
- 4. POST request orígenes
- 5. node.js POST request
- 6. JAVA: http post request
- 7. check POST request with Fiddler
- 8. Android, Java: HTTP POST Request
- 9. ExtJS 4 - Problemas con JsonStore + Post Request
- 10. XML POST REST Request using Python
- 11. twisted get body of POST request
- 12. NS_Error_Failure en Javascript POST
- 13. Issue FORM POST Request From PHP using HTTP Basic Authentication
- 14. ¿Necesita ayuda con RestTemplate Post Request with Body Parameters?
- 15. Rails link_to o button_to post request con los parámetros
- 16. Paginating the results of Django forms POST request
- 17. C# Xml en Http Post Request Message Body
- 18. Rails RestKit POST request Falta la clase raíz de json
- 19. obtener información del encabezado de php curl post request
- 20. Redireccionar a html desde javascript request not working (Rails)
- 21. PHP SOAP HTTP Request
- 22. 400 Bad Request HTTP Response utilizando un WCF POST a través de JQuery
- 23. Variable de paso de Javascript en href onclick request
- 24. Copiando Http Request InputStream
- 25. return PDF in ajax request
- 26. Cómo incluir el encabezado Authorization en cURL POST HTTP Request in PHP?
- 27. ¿Cuál es la diferencia entre un POST y PUT HTTP REQUEST?
- 28. Javascript window.open pass values using POST
- 29. ajax request browser limit
- 30. Node.js Https request Error
quizás sería mejor dar más detalles? – spender
esto es un duplicado – bendewey
esto es demasiado vago, y usted podría comenzar a través de la consulta de google –