2017-12-11 31 views
1

を使用してフェッチAPIにヘッダを追加することはできません。 私のコードは次のようになります。typescriptですが、私はネイティブ反応し、私はtypescriptですを使用していますから、APIを取得使用しています反応し、ネイティブ

let responseLogin = await fetch('http://url_example', { 
     method: 'POST', 
     headers: {'Content-Type':'application/json'}, 
     body: requestBody 
    }); 

しかし、私はヘッダがあり、次のエラーを取得:

Argument of type '{ method: string; headers: { 'Content-Type': string; }; body: string; }' is not assignable to parameter of type 'RequestInit'. 
    Types of property 'headers' are incompatible. 
    Type '{ 'Content-Type': string; }' is not assignable to type 'Headers | string[][]'. 
     Object literal may only specify known properties, and ''Content-Type'' does not exist in type 'Headers | string[][]'. 

私もカスタムヘッダーを作成しようとしましたが、任意の運なしています

let requestHeaders = new Headers(); 
     requestHeaders.set('Content-Type', 'application/json'); 
     // I have also tried adding this at the end but no luck 
     // requestHeaders.get('Content-Type'); 
私はこれにヘッダを追加することができますどのように

?私はこれを起こすための方法を見つけることができないので、私は何が問題であるか分からない。私が郵便配達でこれらをテストすれば、私は200の応答を得ます、ここで私は401応答を得ます。 私もちょうどカスタムヘッダーを追加するには、このライブラリを試してみました:​​私が使用

: Visual Studioのコード1.81.1 "を反応させ、ネイティブの": "0.50.0"、 "typescriptです":「2.6.1 「

+0

それが送信するすべての資格情報が必要ですか? – Niladri

+0

あなたは 'ヘッダを使用して試してみました:{ は受け入れる: 'アプリケーション/ JSON'、 'Content-Typeの': 'アプリケーション/ JSON'、 }' 'fetch' API – Niladri

+0

にあなたが'資格情報を追加する必要があります。 '資格情報を送信している場合はフェッチ要求に ''を含める – Niladri

答えて

1

:活字体2.6.2では、headersプロパティは、次のように定義されるタイプHeadersInitのものですエラーメッセージはJSが構文を正しく解釈するため、typescriptだけが構文を解釈しないため、これらの2つの文字列を格納した変数を作成することでこれを行いました。

0

何活字体のライブラリあなたのビルドを含むていますか? headersプロパティの定義が間違っているようです。私がしなければならなかったことすべてがあることを無視した

let requestHeaders: any = { 'Content-Type': 'application/json' }; 
let responseLogin = await fetch('URL', { 
      method: 'POST', 
      headers: requestHeaders, 
      body: requestBody 
     } 
     ); 

:私はこのような問題を解決した type HeadersInit = Headers | string[][] | { [key: string]: string };

+0

私はこのようなヘッダーを追加しようとしました:ヘッダー:[['Content-Type']、['application/json']]。それでも401のステータスを返します。 –

+0

私はこのライブラリを試しました:https://www.npmjs.com/package/fetch-headers –

関連する問題