Обнаружение метода HTTP-запроса на стороне клиента

StackOverflow https://stackoverflow.com/questions/121218

  •  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

Но невозможно получить почтовый запрос

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top