Angular - 请求发布的标题

时间:2018-04-10 18:16:47

标签: angular header token

我的请求标题有问题我想添加一个带有名称和描述的项目但是当我尝试发布我的表单时出现此错误:

  

“RequestOptions”类型的参数不能分配给参数   输入'{headers?:HttpHeaders | {[header:string]:string |串[];   };观察?:“身体”; params?:Ht ......'。财产'标题'的类型   是不相容的。       类型'标题'不能分配给'HttpHeaders |类型{[header:string]:string |串[]; }”。         类型'标题'不能分配给'{[header:string]:string |串[]; }”。           “标题”类型中缺少索引签名。

     

在我的控制台中我有这个:401(未经授权)

这个代码(一切都很好但是这部分nop):

addProject(token: string, id: number, nom: string, capteurs): Observable<ProjetModel> {    
  const headers = new Headers({'X-Auth-Token': token});
  const body = { nom, capteurs };
  const options = new RequestOptions({ headers: headers });
  return this.http.post(`${environment.baseUrl}/projets`, body, options).map((response: Response) => response.json());
}

谢谢,

2 个答案:

答案 0 :(得分:1)

尝试按以下方式添加标题

     import { HttpClient } from '@angular/common/http';
     import { HttpHeaders } from '@angular/common/http';

     @Injectable()
     export class ServiceName {

        constructor(private http: HttpClient) { }

        addProject(token: string, id: number, nom: string, capteurs): Observable<ProjetModel> {    

           const httpOptions = {
             headers: new HttpHeaders({
               'Authorization': 'my-auth-token'
             })
           };

           return this.http.post(`${environment.baseUrl}/projets`, body, httpOptions ).map((response: Response) => response.json());
        }
    }

答案 1 :(得分:0)

使用此代码:

addProject(token: string, id: number, nom: string, capteurs): Observable<ProjetModel> {
    const headers = new HttpHeaders({'Authorization': token});
    const body = { nom, capteurs };
    const options = new RequestOptions({ headers: headers });
    return this.http.post(`${environment.baseUrl}/projets`, body, httpOptions).map((response: Response) => response.json());
}

我有这个错误: src / app / projet.service.ts(25,40)中的错误:错误TS2345:类型的参数&#39; {headers:HttpHeaders; }&#39;不能分配给&#39; RequestOptionsArgs&#39;。

类型的参数

财产类型&#39;标题&#39;是不相容的。

Type 'HttpHeaders' is not assignable to type 'Headers'.

  Property 'forEach' is missing in type 'HttpHeaders'.

src / app / projet.service.ts(26,67):错误TS2304:找不到姓名&#39; httpOptions&#39;。

src / app / projet.service.ts(26,84):错误TS2345:类型的参数&#39;(响应:响应)=&gt;任何&#39;不能分配给类型&#39;的参数(值:ArrayBuffer,index:number)=&gt;任何&#39;

参数类型&#39;响应&#39;和&#39;价值&#39;是不相容的。

Type 'ArrayBuffer' is not assignable to type 'Response'.

  Property 'type' is missing in type 'ArrayBuffer'.