具有标头请求的HttpClient或Http POST未命中服务器

时间:2019-05-09 11:39:39

标签: angular5 angular-httpclient

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

但是我需要一定角度,所以我尝试了以下两种方法,但没有一种起作用。

1st

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
请帮助我解决这个问题。

1 个答案:

答案 0 :(得分:0)

您的方法是可观察的。

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

这是第二种方法的示例。

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