简体   繁体   中英

Cannot get post working in Angular2

邮差头

邮递员的身体

So i'm trying to authenticate in my angular application. I attended headers and created an stringified body. I also looked at serveral other forum post about sending post requests in postman but i cannot get it working.

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

}

So above is my code. I know it might be a little silly thing but I cannot get it working. I get the error that the user cannot be found. That happens when the username is wrong, and when the username does not exsist in the database. So that a little extra tricky as well.

Who knows what the stupid mistake is that I made?

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

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

Add this code in your service.ts file.

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

This code is what I use for post request

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM