Angular 立柱上未设置角度2头

Angular 立柱上未设置角度2头,angular,http,angular2-services,Angular,Http,Angular2 Services,我知道有很多这样的问题,但没有一个解决了我的问题 我是Angular2的新手,正在尝试发出POST请求,但我指定的标题没有设置 我的代码是: import { Injectable } from '@angular/core'; import {Http, Headers} from '@angular/http'; import 'rxjs/add/operator/map'; @Injectable() export class LoginService { constructor(p

我知道有很多这样的问题,但没有一个解决了我的问题

我是Angular2的新手,正在尝试发出POST请求,但我指定的标题没有设置

我的代码是:

import { Injectable } from '@angular/core';
import {Http, Headers} from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class LoginService {
  constructor(private http: Http) {
  }

  login(email, pass) {

      var headers = new Headers();
      headers.append('Content-Type', 'application/json');

      const user = {"email": email, "password": pass};
      console.log(JSON.stringify(headers));
      return this.http.post("http://localhost/api/users/login", JSON.stringify(user), {headers: headers}).map(res => res.json());
  }
}
当我查看Chrome的inspector时,请求头如下所示:

OPTIONS /api/users/login HTTP/1.1
Host: localhost
Connection: keep-alive
Access-Control-Request-Method: POST
Origin: http://localhost:4200
User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36
Access-Control-Request-Headers: content-type
Accept: */*
Referer: http://localhost:4200/
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: en-US,en;q=0.8
不知道为什么它现在在访问控制请求头中

顺便说一句:如果我在《邮报人》中尝试同样的方法,效果很好

谢谢你的帮助

编辑:
忘了提一下,如果我将application/x-www-form-urlencoded设置为contet类型,它确实会在请求头中显示出来,这会使问题复杂化,您不需要向该请求添加内容类型,您也不需要JSON.stringify模型,下面的代码应该可以工作

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/Rx';

@Injectable()
export class LoginService {
  constructor(private http: Http) { }

  public login(email: string, pass:string): Observable<any>{
    let url: string = 'http://localhost/api/users/login';
    let body: any = {
      email: email,
      password: pass
    };

    return this.http.post(url, body).map((res:Response) => res.json());
  }
}
您应该为自己的目的定制一个httpUtil服务