带有 header 请求的 HttpClient 或 Http POST 未访问服务器

HttpClient or Http POST with header request not hitting to the server

我正在尝试发出一个 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);
                },
            });

但我在 angular 中需要它,所以我尝试了以下两种方法,但其中 none 有效。

第一

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);
            });

第二

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

他们怎么了。
我正在使用 Dotnet Core 2.1 和 angular 5
请帮我解决这个问题。

您的方法是可观察的。

为了发送请求并获得结果,您需要订阅它们。

这是第二种方法的示例。

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