Как перенаправить отправку формы POST, как если бы она была первоначально отправлена ​​на другую страницу? - PullRequest
2 голосов
/ 18 декабря 2011

Вот мой сценарий:

У меня есть одна страница, которая собирает определенные данные от пользователя.Я хочу иметь одну кнопку, которую пользователь может нажать, и я хочу, чтобы эта кнопка делала две вещи.

a) Регистрирует данные в моей базе данных.
b) Перенаправляет пользователя в Paypal для оплаты.

Моя текущая мысль - создать промежуточную страницу "обработчик", которая будет выполнять а), а затем перенаправить браузер на б).

Вопрос в том, как мне на самом деле сделать б)?(Это какая-то комбинация JS и ASP?)
Я надеюсь, что она будет вести себя точно так, как если бы страница сбора данных выполняла POST для PayPal напрямую, но если это невозможно, я приветствую другие предложения по реализациимой сценарий.

Используемая мной серверная технология - ASP.NET.

Ответы [ 2 ]

3 голосов
/ 03 января 2012

После некоторого более специфического поиска и тестирования я решил использовать следующий код:

http://www.codeproject.com/KB/aspnet/ASP_NETRedirectAndPost.aspx

Как вы можете видеть ..Мы подготавливаем POST-форму, которая представляет собой HTML-форму, которая содержит скрытые поля ваших POST-данных, и тег сценария, который содержит операцию отправки формы .., которая будет выполнена сразу после обратной передачи.1009 *

1 голос
/ 18 декабря 2011

Простейшим способом было бы сделать этот код позади.

Просто выполните свою логику в обработчике событий нажатия кнопки.

Затем перенаправьте на PayPal, используя

Response.Redirect

Я предполагаю, что вы просто создаете пользовательский URL для перехода в PayPal.

Если вы действительно хотите сделать POST для другой страницы, вы также можете сделать это с помощью кода позади

WebClient client = new WebClient();

client.Headers["Content-type"] = "application/x-www-form-urlencoded";

response = client.UploadString("http://www.paypal.com/somethingorother", 
                               "parameter1=value1&parameter2=value2");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...