2016-09-03 11 views
0

今日、私はAngular2のHttpモジュールのメソッドを取得するとエラーが発生しました。私はそれをここに置き、誰かの人生を苦痛を少なくすることに決めました。それ以外の場合は、角度/コアをデバッグするのに時間を費やしたい場合は、それを読まないでください:)。私は、サーバーが実行されている場所をlocalhostにGETリクエストをAngular2 http.get throw例外:エラー:キャッチされていない(約束されています):ヌルの 'toString'プロパティを読み取ることができません

let headers = new Headers(); 

headers.append('Content-Type', 'application/json'); 
headers.append('Authorization', token); 

let options = new RequestOptions({ 
    headers: headers 
}); 

をそして私が作っていた:

私のユースケースは次のようにヘッダにJWTトークンセットで身体のペイロードなしでGETリクエストを送信することについてです

return this.http.get('http://localhost:3000/someApiUrl', options) 
    .toPromise() 
    .then(this.extractData) 
    .catch(this.handleError); 

でも何でも、私は角度が

例外がスローされます3210
EXCEPTION: Error: Uncaught (in promise): Cannot read property 'toString' of null 

答えて

0

GETリクエストがボディなしで送信され、nullのチェックがないため、角度例外がスローされました。したがって、Angularが要求の本文を文字列に強制しようとしていたときには、実際にはnulltoString()メソッドが呼び出されていました。

ソリューションはそうのように空の文字列に明示的に身体を設定することです:

let options = new RequestOptions({ 
     headers: headers, 
     body: '' 
    }); 
関連する問題