#html #asp.net-mvc #asp.net-mvc-3
#HTML #asp.net-mvc #asp.net-mvc-3
Вопрос:
У меня есть форма, которая отправляется на контроллер MVC3, который затем должен быть ОТПРАВЛЕН на внешний URL. Браузеру необходимо постоянно переходить к URL-адресу, поэтому я подумал, что постоянное перенаправление было бы идеальным. Однако, как мне отправить данные POST формы с перенаправлением?
Я действительно не хочу отправлять другую страницу в браузер для этого.
Спасибо
Ответ №1:
Перенаправление всегда будет GET, а не POST.
Если 2-й POST не обязательно должен поступать от клиента, вы можете создать POST с помощью HttpWebRequest с сервера. Остерегайтесь, что вторичный POST может задержать возврат клиентского запроса, если внешний сервер не работает или работает медленно.
Комментарии:
1. Будет ли веб-запрос перенаправлять фактический браузер, не нужно ли мне отправлять ответ в браузер, и он останется на моем сервере?
2. Нет, это не перенаправит браузер — суть в том, что вы не можете перенаправить сообщение. Вы могли бы сделать что-нибудь необычное с помощью некоторого JavaScript, если вам нужно, чтобы браузер автоматически создавал сообщение (например, возвращал форму, которая требует публикации, и скрипт для отправки этой формы).
3. Да, приветствую. Я отправил другую страницу и отправил форму в тело при загрузке. Спасибо вам обоим. Извините, сайт не позволит мне проголосовать за вас обоих: (
4. Я думаю, что любой может проголосовать за что угодно — вы можете принять только один ответ.
Ответ №2:
Постоянное перенаправление здесь совершенно неуместно. Во-первых, это не приведет к повторной отправке значений формы. Во-вторых, вся семантика неверна — вы бы сказали браузеру «не запрашивать этот URL снова. вместо этого перейдите сюда «. Однако вы хотите, чтобы будущие отправки отправлялись на ваш тот же URL.
Идея Газа может сработать. Это касается только вашего сервера.
В качестве альтернативы отправьте форму с теми же отправленными значениями и внешним URL-адресом и используйте код на стороне клиента для автоматической отправки.
Комментарии:
1. Да, я сказал, что на самом деле не хочу отправлять страницу в браузер, но я думаю, что это единственный способ получить доступ к этому браузеру во внешний домен, где он и должен оказаться. Спасибо