Есть ли способ игнорировать ответ формы?
Есть ли способ указать форму либо по типу, либо по URL-адресу действия, чтобы не открывать ответ? Другими словами, я хотел бы отправить информацию на сервер, но ничего не делать на клиенте. Я знаю, что могу использовать ajax и игнорировать ответ, но я бы хотел, чтобы избежать добавления всех js в мой код, если это возможно.
Изменить: я не хотел ограничивать форму html. В моем случае приемлемы также серверные решения.
Ответы
Ответ 1
Попросите сервер вернуть HTTP 204 (без содержимого) после отправки формы. Согласно спецификация HTTP 1.1:
10.2.5 204 Без содержания
Сервер выполнил запрос но не нужно возвращать сущность-тело, и, возможно, захочет вернуться обновленная метаинформация. Ответ МОЖЕТ включать новые или обновленные метаинформация в виде сущности-заголовки, которые, если они присутствуют СЛЕДУЕТ связываться с запрошенный вариант.
Если клиент является пользовательским агентом, он НЕ ДОЛЖНО изменять вид документа от того, что вызвало запрос быть отправлен. Этот ответ в первую очередь предназначенные для ввода происходят без изменения активный просмотр документа агента пользователя, хотя любые новые или обновленные метаинформация ДОЛЖНА применяться документ, находящийся в настоящее время у пользователя активного агента.
Ответ 204 НЕ ДОЛЖЕН включать тело сообщения, и, следовательно, всегда заканчивается первой пустой строкой после полей заголовка.
Это похоже на то, что вы хотите.
Ответ 2
попробуйте следующее:
<iframe id="invisible" ...
<form target="invisible" ...
Ответ 3
С ASP.NET у вас может быть страница, которая обрабатывает сообщение формы и сразу заканчивает ответ, это оставит пользователя на той же странице.
Однако никакого ответа на пользователя вообще не лучший пользовательский опыт.
Ответ 4
Я обнаружил, что атрибут name также должен быть указан (я тестировал в IE11). Например:
<iframe id="invisible" name="invisible" style="display:none;"></iframe>
<form method="post" target="invisible" action="url.com/whatever?x=y" id="fileForm" enctype="multipart/form-data">