Что происходит, если поле действия в <форма> имеет параметры?

Вы должны использовать компонент LInk, а не a, если вы хотите, чтобы браузер-маршрутизатор управлял вашей навигацией, как показано здесь.

https://reacttraining.com/react-router/web/api/Link/to-string


36
задан Rex M 9 April 2009 в 00:31
поделиться

4 ответа

Если для атрибута метода установлено значение GET, браузер удаляет параметры строки запроса из атрибута действия перед созданием аргумента формы значения.

Итак, в вашем примере запрос к серверу на отправку будет выглядеть следующим образом: /somePage.html?param2=value¶m3=value

Так что нет, когда метод «GET», как в В вашем примере нет причин делать это.

55
ответ дан Rex M 27 November 2019 в 05:36
поделиться

Вы можете изменить атрибут метода в форме на «POST» со скриптом перед отправкой формы, чтобы можно было использовать строку запроса в действии. Хотя вряд ли это лучшее решение для чего-либо.

4
ответ дан Guffa 27 November 2019 в 05:36
поделиться

Не уверен, но я думаю, что лучше размещать эти переменные в скрытых полях ввода. Таким образом, не имеет значения, если вы используете метод POST или GET.

<form method="get" action="/somePage.html">
  <input name="param2"></input>
  <input name="param3"></input>
  <input type="hidden" name="param1" value="foo" />
  <input type="hidden" name="param2" value="foo" />
</form>
19
ответ дан Luke 27 November 2019 в 05:36
поделиться

Well, all the questions have been answered except the last, to which the answer is yes. For POST, it's allowed, but you may well find cases where it doesn't work. I've seen web servers that only allow postdata or querystring, so it's not dependable.

3
ответ дан 27 November 2019 в 05:36
поделиться
Другие вопросы по тегам:

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