Есть ли способ игнорировать ответ формы? - PullRequest
6 голосов
/ 19 июля 2010

Есть ли способ указать форму через тип или URL-адрес действия, чтобы не открывать ответ?Другими словами, я хотел бы отправить информацию на сервер, но ничего не делать на клиенте.Я знаю, что могу использовать ajax и игнорировать ответ, но я хотел бы избежать добавления всех js в мой код, если это возможно.

Редактировать: я не хотел ограничиваться html-формойВ моем случае решения на стороне сервера также были приемлемы.

Ответы [ 4 ]

8 голосов
/ 19 июля 2010

Пусть сервер вернет HTTP 204 (без содержимого) после отправки формы. Согласно спецификации HTTP 1.1 :

10.2.5 204 Нет содержимого

Сервер выполнил запрос но не нужно возвращать сущность-тело, и может захотеть вернуться обновленная метаинформация. Ответ МОЖЕТ включать новый или обновленный метаинформация в виде заголовки объекта, которые, если присутствуют ДОЛЖЕН быть связан с запрашиваемый вариант.

Если клиент является агентом пользователя, он НЕ СЛЕДУЕТ менять вид документа от того, что вызвало запрос к быть отправлено. Этот ответ в первую очередь предназначен для ввода данных для действий происходить без изменения просмотр активного документа агента пользователя, хотя любой новый или обновленный метаинформация ДОЛЖНА применяться к документ в данный момент у пользователя Активное представление агента.

Ответ 204 НЕ ДОЛЖЕН содержать тело сообщения, и, следовательно, всегда завершается первой пустой строкой после полей заголовка.

Это звучит как то, что вы хотите.

6 голосов
/ 19 июля 2010

попробуйте это:

<iframe id="invisible" ...

<form target="invisible" ...
2 голосов
/ 25 октября 2016

Я обнаружил, что атрибут 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">
0 голосов
/ 19 июля 2010

В ASP.NET вы можете создать страницу, которая обрабатывает сообщение формы и просто сразу же завершить ответ, и пользователь останется на той же странице.

Тем не менее, никакой ответ пользователю совсем не лучший пользовательский опыт .....

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