簡體   English   中英

Typescript / Angular2 http.post不設置標題

[英]Typescript/Angular2 http.post doesn't set headers

我試圖從Angular2 beta 8發布json但是標題沒有被傳輸:

import { RequestOptions, RequestMethod, RequestHeaders, RequestOptionsArgs, Http } from 'angular2/http';

// ...
let headers = new Headers(),
    body = JSON.stringify({ identifier, password });

headers.append('Content-Type', 'application/json');
headers.append('Accept', 'application/json');
let opts:RequestOptionsArgs = { headers: headers };

this.http.post(this.baseUrl + 'auth/login', body, opts)
    .subscribe(
         data => console.log(data),
         err => console.log(err.json().message),
         () => console.log('Authentication Complete')
    );

但Chrome中的XHR調用沒有這些標題。 Chrome調試顯示Content-Type標頭已標記為Provisional Headers are ShownProvisional Headers are Shown並顯示Content-Type:text/plain;charset=UTF-8 標題值似乎是正確的:

console.log(headers.get('Content-Type')) // => 'application/json'
console.log(headers.get('Accept'))       // => 'application/json'

問題是我在拉入RequestHeaders ,但它應該只是Headers 為什么它沒有給我一個錯誤,我不知道。

你需要像這樣導入Headers類(你從angular2/http導入時angular2/http ):

import {
  RequestOptions,
  RequestMethod,
  RequestHeaders,
  RequestOptionsArgs,
  Http,
  Headers // <------
} from 'angular2/http';

// ...
let headers = new Headers(),
body = JSON.stringify({ identifier, password });

有關詳細信息,請參閱此問題:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM