2016-07-22 39 views
1

JavaScript用にangular2を試していましたが、Http.getリクエストを作成できましたが、Http.postリクエストを作成しようとしたときに415 Unsupported Media Typeエラーが返されます。415サポートされていないメディアタイプangular2

コード自体はかなり簡潔なので、私はこのエラーの原因となるものがわからなかった。どうすればこの問題を解決できますか?

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

console.log(headers.get('Content-Type'))    

return this.http.post(this.endpoint_url, data="test.json", headers=headers).subscribe(
    function(response){console.log("Success Response" + response)}, 
    function(error){console.log("Error happened : " + error)}); 
+0

415は、ほぼ間違いなくあなたのサーバーから返されたものになります。 – Harangue

答えて

0

あなたのコードは、単純にリクエストのボディ、test.jsonファイルのない内容として文字列test.jsonを投稿しようとしています。

this.http.post()引数で=シンボルを使用していることにも注意してください。これは、値をvarsに代入して返します。実際に

あなたのコードは同じです:

return this.http.post(this.endpoint_url, "test.json", headers).subscribe(... 

そして「test.json」(あなたが設定されているヘッダーのために何をしたいのようです)、有効なJSON文字列ではありません。

test.jsonのコンテンツを送信したい場合は、最初にHTTPで取得し、その結果のみを投稿の本文として送信します。

0

入る前に、あなたのJSONを文字列化してみてください
this._http.post(this.standardUrl, 
      JSON.stringify({ 
       ClientVersion: '1.0.0.0', 
       ClientLanguage: 'en' 
      }), { headers: headers }) 
     .subscribe((response: Response) => { 
       data = response.json(); 
      }); 

少なくともJSONオブジェクトを提供すること。..

関連する問題