Détection côté client de la méthode de requête HTTP
-
02-07-2019 - |
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?
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