HttpClient или Http POST с запросом заголовка не попадает на сервер - PullRequest
1 голос
/ 09 мая 2019

Я пытаюсь выполнить запрос http для проверки пользователя, и в ответ мне нужно получить токен, выданный сервером.

этот вызов ajax работает нормально

$.ajax({
                url: '/token',
                'data': JSON.stringify({ Id: "test", Password: "test" }),
                'type': 'POST',
                'processData': false,
                'contentType': 'application/json',
                success: function (response) {
                    console.log("token =" + response);
                },
            });

Но мне это нужно в угловых, поэтому я попробовал ниже два метода, но ни один из них не сработал.

первый

let header = new Headers({ 'Content-Type': 'application/json', 'processData': false});
        let options = new RequestOptions({ headers: header });
        this.http.post('/token', JSON.stringify({ Id: "test", Password: "test" }), options)
            .map(response => {
                debugger;
                console.log("token =" + response);
            });

1011 * второй * this.httpClient.post<any>("/token", { 'Id': "test", 'Password': "test" }, { headers: new HttpHeaders({ 'Content-Type': 'application/json' }), observe: 'response' }); что с ними не так.
Я использую Dotnet Core 2.1 и угловой 5
Пожалуйста, помогите мне решить эту проблему.

1 Ответ

0 голосов
/ 09 мая 2019

Ваши методы являются наблюдаемыми.

Чтобы отправить запрос и получить результат, необходимо подписаться на него.

Это пример 2-го метода.

this.httpClient.post<any>("/token",
                    { 'Id': "test", 'Password': "test" },
                    {
                        headers: new HttpHeaders({ 'Content-Type': 'application/json' })
                    }).subscribe(response => {
                           console.log("token =" + response);
                    });
...