レスポンスタイプ:blobと呼ばれる$ httpで問題が発生しました。 私はJSONでエラー応答を処理したいと思いますが、サーバー上で応答のコンテンツタイプを 'application/json'として設定しても、BLOBデータを取得します。
$http.post(url, data, {responseType: 'blob'})
.then(function(response) {
// download the file (works fine)
})
.catch(function(error) {
// handle JSON response error
});
convert error dataに拒否せずに行う方法はありますか?
.then()関数は、より効率的な方法で使用することができます... .then(機能(応答){}、機能(エラー){あるかどうかをチェックすることができ
responseError
interceptorを書きますconsole.log(エラー);}); console.log()では、あなたが望む方法でそれを取得します。それを処理することができます。 –ありがとうございますが、私のプロジェクトの規約では、then()、catch()の代わりに(onSuccess、onError)を使用しています。残念ながら、onErrorコールバック内のデータがBLOB型のままであるという事実は変わりません。 –
あなたは$ http({method: 'GET'、URL:Restriction.one( '添付ファイル'、idAtt).getRestangularUrl()、 ヘッダーを試すことができます:{'X-Auth-Token':token}、responseType: 'blob '}))。次に(function(response){ var url =(window.URL || window.webkitURL).createObjectURL(response.data); window.open(url); }}); –