2017-05-16 6 views
1

Angular2でHTTP投稿要求を送信しようとしていますが、コンテンツタイプアプリケーションJSONにヘッダーを設定できません。angle2のapplication/jsonにヘッダーを設定する方法

私のコードは次のとおりです。

login(url,postdata) 
{ 
    var headers = new Headers({'Content-Type': 'application/json'}); 
    return this._http.post(url,JSON.stringify(postdata),this.headers) 
    .map(res => res.json())  
} 

私はネットワークでチェックすると、私はのContent-Typeがtext/plainのため、サーバーがデータを受信して​​いないよう設定されていることがわかりました。 ご意見をお待ちしております。

+0

チャットに参加し、いくつかの同様の問題を持っていた.... – DaAmidza

+0

のhttp:あなたはHTTPヘッダを指定しない場合ので、デフォルトの要求は、Content-Typeのテキスト/に平野、あなたは、HTTPヘッダーを修正する方法であるとして送信されます://chat.stackoverflow.com/rooms/144381/angular-2 – DaAmidza

答えて

2

のようなコードを使用する必要があります非推奨、@ angular/common/httpはあなたのAngular 2で使用しているものでなければなりませんApp。

import { HttpClient, HttpHeaders } from '@angular/common/http'; 
..... 
const req = this.http.post('/api/PostRequest/', 
          JSON.stringify(object), 
          { 
          headers:new HttpHeaders() 
          .set('Content-Type','application/json') 
          }).subscribe(); 
+0

サーバのペイロードへのポストリクエストの送信時に実際にヘッダを設定できません。send/jsonの代わりにnetworkとtext/plainのcontent-typeをチェックしました。 Accept:application/json、text/plain、*/* アクセプトエンコーディング:gzip、deflate、br アクセプタ言語:en-US、en; q = 0.8 接続:キープアライブ コンテンツの長さ:35 コンテンツタイプ:text/plain – palak

3

変更_http.postパラメータ:角度/ HTTP @角度2 Angular Http Guideを参照

private _getHeaders():Headers { 
    let header = new Headers({ 
    'Content-Type': 'application/json' 
    }); 

    return header; 
} 



public login(url, postdata){ 
    let options = new RequestOptions({ 
     headers: this._getHeaders() 
    }); 
    return this.http.post(url, JSON.stringify(postdata),options).map(res => res.json()); 
} 
+0

これは私のために働いていません。 – palak

2

をあなたはこのコードを試してみてください。この

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

let options = new RequestOptions({ headers: headers }); 
return this.http.post(url, JSON.stringify(postdata), options).map(res => res.json()); 
2

がされています:

login(url,postdata) { 
    var headers = new Headers({'Content-Type': 'application/json'}); 
    return this._http.post(url,postdata,{headers:headers}) 
       .map(res => res.json())  
} 
関連する問題