Обнаружение метода HTTP-запроса на стороне клиента
-
02-07-2019 - |
Вопрос
Можно ли определить метод HTTP-запроса (например,GET или POST) страницы из JavaScript?Если да, то как?
Решение
Одним словом - Нет
Другие советы
Я так не думаю.Если вам нужна эта информация, я предлагаю включить <meta>
элемент, сгенерированный на сервере, который вы можете проверить с помощью JavaScript.
Например, с 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>
Если вам нужна эта функция, попросите сервер определить, какой метод был использован, а затем изменить что-то в DOM, что вы сможете прочитать позже.
Вы можете проверить реферер страницы:
document.referrer == document.URL
Если это та же страница, вполне вероятно, что пользователь отправил форму.
Конечно, это требует
- что вы не ссылаетесь со страницы на себя (что в любом случае требуется для доступности)
- что форма отправляется на ту же страницу, на которой она находится
- что пользователь не отключил реферер
Вы не можете сделать это для обычной публикации/получения, однако вы можете получить эту информацию, если используете вызов xmlhttp и используете getResponseHeader.
Попробуй это
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
}
Обычно это работает.Например, чтобы получить параметры получения с именем test.Использовать это
getURIQueryString().test
Но невозможно получить почтовый запрос