web-dev-qa-db-ja.com

レスポンスの本文はnull、ステータスは200です

Angularの新しいHttpClientをリクエストに使用しています。古いhttpを使用していたとき、コンポーネントは本文を正常に返しましたが、本文はnullです。わかりません。サーバーが送信していますが、ボディとして常にnullを受信して​​います。

応答のその他の部分はすべて正常、ステータス200などです。書き込みと削除の両方で、プレーンテキストの成功メッセージが予期されます。 .bodyメソッドを使用して本文を取得しようとしたところ、nullも返されました。

サービス:

constructor(private http: HttpClient) {}

    sendAllow(country, allow) {
        if (allow === 1) {
            return this.http.put(`http://${this.address}/rest/geodrop/config/` +
                                 `${country}`, { observe: 'response' });
        } else {
            return this.http.delete(`http://${this.address}/rest/geodrop/config/` +
                                    `${country}`, { observe: 'response' });
        }
    }

成分:

this.whiteListService.sendAllow(a, b)
            .subscribe(
                (response) => console.log(response),
                (error) => {
                    console.log(error);
                }
        );
10
FussinHussin

問題はAngularはjson応答を期待しています。応答を次のようにタイプテキストに変更してください:

return this.http.put(`http://${this.address}/rest/geodrop/config/` +
                     `${country}`, { responseType: 'text', observe: 'response' });
14
FussinHussin