Question

Est-il possible de détecter la méthode de requête HTTP (par exemple, GET ou POST) d’une page à partir de JavaScript? Si oui, comment?

Était-ce utile?

La solution

En un mot - Non

Autres conseils

Je ne crois pas. Si vous avez besoin de ces informations, je suggère d’inclure un <meta> élément généré sur le serveur que vous pouvez vérifier avec JavaScript.

Par exemple, avec 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 vous avez besoin de cette fonctionnalité, demandez au serveur de détecter la méthode utilisée, puis modifiez quelque chose dans le DOM que vous pourrez ensuite lire plus tard.

Vous pouvez vérifier le référent de la page:

document.referrer == document.URL

Si c'est la même page, il est fort probable que l'utilisateur a soumis le formulaire.

Bien sûr, cela nécessite

  • que vous ne liez pas d'une page à elle-même (ce qui est de toute façon indispensable pour l'accessibilité)
  • que le formulaire est soumis à la même page, il se trouve sur
  • que l'utilisateur n'a pas désactivé le référent

Vous ne pouvez pas faire cela pour un article / get normal, mais vous pouvez accéder à cette information si vous utilisez un appel xmlhttp et utilisez le getResponseHeader

Essayez ceci

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
}

Cela fonctionne généralement. Par exemple, pour obtenir un paramètre nommé nommé test. Utilisez ceci

getURIQueryString().test

Mais il est impossible d'obtenir une demande de publication

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top