Из контроллера, есть ли способ отправить запрос POST в конкретный домен с параметром?

То, что я хочу заархивировать, выглядит так:

public ActionResult Index()
{
   Redirect("https://www.anothersite.com", new { s = "abc" });
}

Я хочу сделать это на стороне сервера вместо использования ajax на стороне клиента:

$.ajax({
   url: 'https://www.anothersite.com',
   type: 'POST',
   data: { s: 'abc' }
}).done(function (data) {
   // logic...
})

Возможно ли?

Tân

Ответов: 1

Ответы (1)

Когда вы возвращаете RedirectResult с помощью метода Redirect, он выдаст новый запрос GET на URL-адрес.

Кроме того, у вас неправильный синтаксис. Это должно бытьreturn Redirect ("https://www.anothersite.com");

Если вы по-прежнему хотите отправить POST-запрос в другой домен, вы можете установить метод действия form на URL-адрес другого домена, установить метод как «POST * 100005. * "и отправьте форму, после чего форма будет отправлена ​​на новую страницу.

Если вы хотите получить запрос POST от кода на стороне сервера, вам следует рассмотреть возможность использования класса HttpClient, который может отправлять / получать запросы с некоторыми данными в другой домен / веб-службу. . Поскольку это происходит в коде, в вашем браузере по-прежнему будет отображаться предыдущая страница из кода. Обычно это решение используется для взаимодействия с API веб-сервисов / rest для получения / публикации данных.

2022 WebDevInsider