Вам необходимо обработать перенаправление в угловом, а не на сервере. Ваш API-интерфейс должен возвращать признак успеха Angular, а затем в вашем Angular controller, который называется API, вам нужно будет проверить значение ответа и перейти на соответствующую страницу.
Если вы возвращаете ответ от перенаправления API, Angular просто выполнит это перенаправление, а затем получит содержимое Home/Index в свой объект HTTP-запроса, что вряд ли будет тем, что вы хотите.
метод
API:
[HttpPost("account/signin")]
public async Task<IActionResult> SignIn([FromBody]SignInModel model) {
if (ModelState.IsValid) {
return new { Authenticated = true };
} else {
return HttpBadRequest();
}
}
Вот пример подобного обращения код, который вы могли бы хотеть в вашем Angualar контроллера (это предполагает "/" является URL для дома/Index):
$http.post(
"account/signin",
{ "Username": vm.username, "Password": vm.password }
).then(function (authResponse) {
if (authResponse.data.Authenticated) {
// Reload the page:
$window.location.href = "/";
} else {
vm.success = false;
vm.failMessage = "Login unsuccessful, please try again.";
}
}, function (errResponse) {
// Error case.
vm.failMessage = "Unable to process login - please try again."
});
Это то, чего я действительно хочу. Спасибо. –