Detección del lado del cliente del método de solicitud HTTP
-
02-07-2019 - |
Pregunta
¿Es posible detectar el método de solicitud HTTP (p. ej.GET o POST) de una página desde JavaScript?¿Si es así, cómo?
Solución
En una palabra - no
Otros consejos
No lo creo.Si necesita esta información, le sugiero incluir un <meta>
Elemento generado en el servidor que puedes consultar con JavaScript.
Por ejemplo, con PHP:
<meta id="request-method" name="request-method" content="<?php echo htmlentities($_SERVER['REQUEST_METHOD']); ?>">
<script type="text/javascript">
alert(document.getElementById("request-method").content);
</script>
Si necesita esta funcionalidad, haga que el servidor detecte qué método se utilizó y luego modifique algo en el DOM que luego pueda leer en voz alta.
Puedes consultar el referente de la página:
document.referrer == document.URL
Si es la misma página, es muy probable que el usuario haya enviado el formulario.
Por supuesto que esto requiere
- que no se vincula desde una página a sí misma (lo cual es necesario para la accesibilidad de todos modos)
- que el formulario se envía a la misma página en la que se encuentra
- que el usuario no deshabilitó el referente
No puedes hacer esto para una publicación/obtención normal; sin embargo, puedes acceder a esta información si usas una llamada xmlhttp y usas getResponseHeader.
Prueba esto
function getURIQueryString(){
var params = {};
var qstring = window.location.toString().substring(window.location.toString().indexOf("?") + 1);
var regex = /([^&=]+)=([^&=]+)/g;
var m;
while (m = regex.exec(qstring)){
params[decodeURIComponent(m[1])] = decodeURIComponent(m[2])
}
return params
}
Suele funcionar.Por ejemplo, para obtener parámetros denominados prueba.Utilizar esta
getURIQueryString().test
Pero es imposible recibir una solicitud de publicación.