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?

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top