У меня есть форма входа в угловой 2, и я пытаюсь вызвать контроллер токена JWT через вызов API.Передача имени пользователя и пароля JWT Token Controller через форму регистрации Angular 2
Мой user.service.ts выглядит следующим образом: -
login(username, password) {
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
let credentials = JSON.stringify({ username, password });
console.log(username, password);
return this._http.post('http://localhost:5000/api/jwt', credentials, { headers: headers })
.map(res => res.json())
.map((res) => {
if (res.success) {
localStorage.setItem('auth_token', res.auth_token);
this.loggedIn = true;
}
return res.success;
});
}
Когда я делаю console.log (имя пользователя, пароль); Я получаю правильное имя пользователя и пароль, введенные в форму.
Тогда у меня есть контроллер следующим образом: -
[HttpPost]
[AllowAnonymous]
public async Task<IActionResult> Get(string username, string password)
{
//code here
}
Моя проблема заключается в том, что имя пользователя и пароль всегда нуль.
Я попытался сделать сообщение с Postman на 'http://localhost:5000/api/jwt' с именем пользователя и паролем, и он отлично работает.
Как передать имя пользователя и пароль контроллеру из формы Angular 2?
Спасибо за вашу помощь и время
Иоганна
Я попробовал то, что вы сказали, Дарина, и изменил мою ПОЛУЧАЕТ to public async Task Get ([FromForm] ApplicationUser applicationUser) однако я все еще получаю null как в имени пользователя, так и в пароле –
Johann
my ApplicationUser точно так же, как ваш LoginViewModel – Johann
Вы не должны использовать '[FromForm]', а скорее '[FromBody ] в этом случае. –