Возника задача с помощью веб-сервера перенаправить пользователя на некоторую страницу, отправив при этом туда данные в POST (т.е. имитировать отправку POST-формы, и чтоб пользователь увидел у себя в браузере результат).
Как бы это сделать? (на PHP, например)
Как вместе с редиректом отправить POST-запрос?
29 ноября 2011, 14:57
Автор: 1234ru
|
NO USERPIC
|
rgbeastHTTP-редирект (302) такого не разрешает. Можно попробовать создать на javascript скрытую форму и сделать submitdocument.forms["myform"].submit();
|
29.11.2011, 20:04 Ответить |
|
1234ruЦитата: HTTP-редирект (302) такого не разрешает. Понятно. Это как-то странно.. GET-запрос можно послать, а POST - нельзя. Почему такая дискриминация? То, что не убивает нас, делает нас инвалидами.
|
29.11.2011, 21:34 Ответить |
|
NO USERPIC
|
rgbeastНа этом основана юзабилити стандарта HTTP. Пользователь должен понимать что происходит, поэтому стандарт запрещает неявное превращения GET в POST.http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.3.3 Цитата: If the 302 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued. Цитата: Note: RFC 1945 and RFC 2068 specify that the client is not allowed to change the method on the redirected request.
|
29.11.2011, 23:39 Ответить |
|
1234ruПонятно..С другой стороны, браузер в произвольный момент времени может без участия пользователя сформировать совершенно любой POST-запрос и отправить его куда угодно вместе с перенаправлением на эту страницу (собственно, так я и обошел вышеуказанное ограничение - создал на странице форму, добавил нужные поля и вызвал событие submit()). Согласуется ли такая ситуация со стандартом? То, что не убивает нас, делает нас инвалидами.
|
24.12.2011, 20:42 Ответить |
|
NO USERPIC
|
rgbeastНе противоречит. В данном случае Javascript вызывает HTTP запрос, а про него в стандарте ничего не сказано. |
24.12.2011, 21:09 Ответить |
© 2007—2012 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
