Как передать параметры POST через URL в адресной строке браузера - PullRequest
0 голосов
/ 31 марта 2020

Из веб-страницы можно выяснить параметры, используемые для запроса POST, например, Как просмотреть адрес запроса POST, сделанного при нажатии кнопки HTML?

Возможно ли для метода POST ввести URL с параметрами в адресной строке или, возможно, из консоли отладчика?

Для запроса get вводится ? между адресом и параметрами, например,

https://www.w3schools.com/action_page.php?fname=Albert&lname=Einstein.

(аналог форма сообщения вызывает тот же сценарий .)

Ответы [ 3 ]

0 голосов
/ 31 марта 2020

Конечно, возможно для метода POST для передачи параметров в адрес.

Установите форму для POST с действием /foo?bar=bat, и сервер получит форму POST параметры и параметры строки запроса.

Было бы тривиально создать действие динамически, чтобы строка запроса в действии содержала параметры формы. Например, здесь при отправке формы данные POST добавляются в строку запроса перед отправкой формы через ajax. Таким образом, вы получаете параметры записи как в URL, так и в данных тела.

html

<!DOCTYPE html>
<html>
  <body>
    <form action="/something">
      <label for="fname">First name:</label><br>
      <input type="text" id="fname" name="fname" value="John"><br>
      <label for="lname">Last name:</label><br>
      <input type="text" id="lname" name="lname" value="Doe"><br><br>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>

js

$("form").submit(function(e) {
  e.preventDefault();
  let f = $(e.currentTarget);
  $.ajax({
    type: "POST",
    url: `${f.attr("action")}?${f.serialize()}`,
    data: f.serialize(),
    success: function() {
      //success message maybe...
    }
  });
});

Это говорит о том, что это вероятно, не очень хорошая идея.

0 голосов
/ 31 марта 2020

Вот мое решение javascript.

Например, для формы http://vizier.u-strasbg.fr/viz-bin/VizieR требуется post.

Следующая команда может быть запущена в отладчике приставка. Он манипулирует одним полем ввода.

form=document.getElementsByName("form0")[0]; form.isource.value="Gaia";
form.target="_blank"; form.submit()

URL-адрес уже унаследован от form.action.

0 голосов
/ 31 марта 2020

Это невозможно.

Параметры POST могут передаваться только через тело запроса.

Вы можете использовать некоторый клиентский инструмент API, такой как Почтальон , Лапа или просто использовать обычный curl .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...