从Controller,有没有办法使用参数?
向特定域发送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...
})
有可能吗?
答案 0 :(得分:3)
使用RedirectResult
方法返回Redirect
时,它会向网址发出新的GET请求。
另外,你的语法错了。它应该是return Redirect("https://www.anothersite.com");
如果您仍想对其他域发出POST请求,您可以将form
操作方法设置为其他域网址,将方法设置为" POST
"并提交表格,并将表格提交到新页面。
<form action="http://www.stackoverflow.com" method="POST">
<input type="submit" />
</form>
如果您需要来自服务器端代码的POST请求,则应考虑使用HttpClient
类,该类可以向其他域/ Web服务发送包含某些数据的Post / Get请求。由于这种情况发生在代码中,因此您的浏览器仍然会调用代码中的上一页。通常,此解决方案用于与Web服务/其他API进行通信以获取/发布数据。