Próbowałem znaleźć rozwiązanie tego problemu, ale wszystkie nadchodzące są dla poprzednich wersji ASP.Net.Odczytywanie danych postów JSON w ASP.Net Core MVC
pracuję z uwierzytelniania middleware JWT i mają następujące metody:
private async Task GenerateToken(HttpContext context)
{
var username = context.Request.Form["username"];
var password = context.Request.Form["password"];
//Remainder of login code
}
ten pobiera wysyłanych danych, jak gdyby był dane formularzy, ale mój kątowa 2 Czo wysyła dane jako JSON .
login(username: string, password: string): Observable<boolean> {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
let body = JSON.stringify({ username: username, password: password });
return this.http.post(this._api.apiUrl + 'token', body, options)
.map((response: Response) => {
});
}
Moje preferowane rozwiązanie to wysłać jako JSON, ale nie udało mi się odzyskać danych. Wiem, że to wysyła, bo widzę to w skrzypku, a jeśli używam Postmana i po prostu wysyłam dane formularza, to działa dobrze.
Zasadniczo wystarczy, aby dowiedzieć się, jak zmienić tę linię do odczytywania danych json
var username = context.Request.Form["username"];
dlaczego nie można po prostu przełączyć funkcję login użyć Content-Type 'application/x-www-form-urlencoded' i właśnie url kodowanie JSON –
bym jak cały z przodu, aby móc wysyłać jsona, zamiast używać json i niektórych danych formularza użycia. Tak naprawdę wypróbowałem tę trasę i trudno było uzyskać prawidłowe dane wysyłane w postaci danych formularzy. Nawet z przykładami nie mogłem zmusić tych dwóch do właściwej rozmowy. – Jhorra
nie możesz po prostu być w stanie to zrobić? 'encodeURIComponent (JSON.stringify ({nazwa użytkownika: nazwa użytkownika, hasło: hasło}));' –