Сообщение HTTP: параметры URL и данные формы - PullRequest
20 голосов
/ 23 октября 2010

Когда я выполняю http POST-запрос через веб-форму, есть ли какая-либо разница (практически или теоретически) между параметрами, указанными в URL-адресе, и параметрами, передаваемыми с помощью формы на стороне сервера?

Могу ли я сделать весь POST с параметрами url и ожидать того же результата, что и для входных данных формы?

как:

  <form action="/?id=2" method="post">
      <input type="text" name="name" value="John"/>
      <input type="submit" value="submit"/>
  </form>

Или:

  <form action="/?id=2&name=John" method="post">
      <input type="submit" value="submit"/>
  </form>

Спасибо.

Ответы [ 2 ]

15 голосов
/ 23 октября 2010

Ссылки, предоставленные Габриэлем и BrokenGlass, действительно классные, но позвольте мне дать вам 2 цента.

Полагаю, вы уже немного знаете о том, как извлечь данные, отправленные из формы на сервер, -боковая сторона.Если вы этого не сделаете, начните там, и ответы придут быстрее, чем вы могли себе представить.

Что ж, параметры, отправленные по URL-адресу, или действие атрибута формы - это параметры данных GET.Они будут проанализированы и предоставлены как таковые.Period.

Поля ввода из формы с методом POST отправляются как данные POST, анализируются и доступны как таковые.

Из приведенных вами примеров и предположим, что вы используете PHP, мы могли быполучить следующее:

Пример 1

$_GET['id']
$_POST['name']

Пример 2

$_GET['id']
$_GET['name']

Надеюсь, что концепции понятны.

1 голос
/ 23 октября 2010

Вам следует прочитать эту статью о различиях между GET и POST (GET - это когда вы помещаете свои параметры в URL, а POST - когда вы помещаете свои параметры в форму).

Кроме того, на этот вопрос уже был дан ответ здесь, на StackOverflow

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