无法在Angular2中发布帖子

时间:2017-07-23 19:36:28

标签: node.js ionic2 ionic3

Postman header

Postman body

所以我试图在我的角度应用程序中进行身份验证。我参加了标题并创建了一个字符串化的主体。我还看了几篇关于在邮递员中发送帖子请求的论坛帖子,但我无法让它发挥作用。

getToken()
{
    console.log('started getting of token');

    //get username and password from local storage

    //Send username and password via body

    let headers = new Headers();
    let body = JSON.stringify({
        name: 'test',
        password: 'test'
    });

    headers.append('Content-Type', 'application/x-www-form-urlencoded');

    this.jwt =  this.http.post('http://localhost:8080/api/authenticate/', {
        headers: headers,
        body: body
    }).map(res => res.text()).subscribe(data => console.log(data));

}

以上就是我的代码。我知道这可能有点傻,但我无法让它发挥作用。 我收到无法找到用户的错误。当用户名错误,并且用户名不在数据库中时,就会发生这种情况。所以这也有点棘手。

谁知道我犯了什么愚蠢的错误?

3 个答案:

答案 0 :(得分:0)

使用以下代码发送帖子请求

this.jwt =  this.http.post('http://localhost:8080/api/authenticate/',body,headers).map(res => res.text()).subscribe(data => console.log(data));

答案 1 :(得分:0)

在service.ts文件中添加此代码。

import { Http, URLSearchParams} from '@angular/http';
  getToken()
  {
    let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    let body = new URLSearchParams();
    body.set('name', test);
    body.set('password', test);
    return this.http.post("http://localhost:8080/api/authenticate/", body, headers).map(response => response.json());
  }

答案 2 :(得分:0)

此代码是我用于发布请求的代码

send_request_post(url: String, data:{})
{
    var headerPost  = new Headers
    ({
        'Content-Type' : 'application/json ;charset=utf-8'
    })

    return this.http.post(url, JSON.stringify(data), {headers: headerPost})
    .toPromise()
    .then
    (
        response => 
        {
            console.log(response);
        }
    )
}