【发布时间】:2019-05-31 02:07:03
【问题描述】:
我想按下一个按钮来连接一个 GET api,做一些事情并重定向页面。
const Http = new XMLHttpRequest();
Http.open("GET", '/Startup/Action/Test');
Http.send();
Http.onreadystatechange = (e) => {
console.log(Http.responseText)
}
然后在我的控制器中:
[HttpGet("Startup/Action/{Handle}")]
public IActionResult Action(string Handle)
{
this.ViewData["Result"] = Handle;
return this.Ok(Handle);
// return LocalRedirect("~/Startup/");
// return Redirect("http://localhost:50429/");
// return View("~/Views/Startup/Index.cshtml");
// return Redirect("/");
// return RedirectToAction("Index", "Startup");
}
我得到响应并在由 javascript XMLHttpRequest 事件编写的控制台中看到它。但是我不能重定向到另一个页面。我尝试了上面注释的所有选项作为返回值。
【问题讨论】:
-
您不能在服务器端对
ajax请求进行重定向,但是您可以在onreadystatechange event中发回重定向的url,然后使用javascript重定向到通过设置window.location.href提供的url,请看这篇文章(stackoverflow.com/questions/43971141/…)
标签: asp.net-core