Единственный способ передать параметры POST в HTML через форму?

24
задан bluish 8 January 2013 в 16:28
поделиться

5 ответов

Существует только два пути к POST от браузера - форма, или запрос Ajax.

31
ответ дан bluish 28 November 2019 в 23:28
поделиться

Используя только HTML, форма является единственным способом генерации запроса POST. Вы можете использовать сценарии на стороне сервера / Javascript для генерации POST-запросов другими способами, но никакие другие способы не работают только с простым HTML.

7
ответ дан Eran Galperin 28 November 2019 в 23:28
поделиться

Поскольку Вы уже обнаружили, существует точно два способа передать данные по http протоколу: GET или POST. Существует также третий тип сообщения HTTP, названного HEAD, но это действительно только используется для получения метаданных вокруг ресурса, не загружая его и широко не реализовано.

, Очевидно, и GET и POST легкодоступны с помощью <form> тег. Эти GET также легкодоступно путем ручного добавления параметров запроса к URL в форме пар "имя-значение" (foo.html?a=1&b=2).

красота и сложность эти POST, однако, состоят в том, что пары "имя-значение" передаются от браузера до веб-сервера, включенного в заголовке Запроса HTTP, который не так легкодоступен. Единственный способ выполнить POST, не используя <form> тег состоит в том, чтобы вручную изменить заголовок Запроса HTTP и добавить пары "имя-значение" в себе.

Также имеют в виду, что сервер HTTP внутренне не знает, прибыл ли запрос (GET или POST) из основного окна браузера или вызова Ajax. Независимо, веб-сервер считает запрос, дешифрует, если это будет GET или POST запрос, ищите пары "имя-значение" как соответствующие, и генерируйте ответ.

, Если Вы хотели бы дополнительную деталь о том, как к правильно запросу формата a POST можно перейти в [1 116] jmarshall.com/easy/http/ или возможно tcpipguide.com/free/t_HTTPRequestMessageFormat.htm . Категорический ресурс всегда W3C, но иногда RFCs может ужасно сбивать с толку нас простые смертные для чтения.

4
ответ дан Ed Lucas 28 November 2019 в 23:28
поделиться

В HTML только это с формой.

, Но можно сделать это, если Вы играете со своей стороной сервера. Вот хорошая статья, которые показывают Вам, как управлять эти , Добираются для Изменения его для Регистрации через PHP. Это потребует, чтобы Вы играли с fsockopen... Здесь делают это будет использовать Ваш параметр? id=1& param=2... и создаст запрос POST на стороне сервера. Можно сделать его универсальным, как только это устанавливает его, будет работы, но это - немного работы для установки всего сначала.

2
ответ дан Patrick Desjardins 28 November 2019 в 23:28
поделиться

Можно, конечно, всегда делать ПОЛУЧАТЬ к странице, которая содержит серверную сторону (или Ajax) логика, которая создаст запрос POST (например, ПОЛУЧИТ/pageWhichCreatesAPost.py). Очень грязный, конечно, но могут быть случаи, где такое обходное решение могло, возможно, быть полезным.

0
ответ дан 28 November 2019 в 23:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: