jQueryのajaxエラー時にレスポンスボディを取得する方法
jQueryによるajax時のレスポンスボディ取得方法について調べました。
成功時(done)は引数が用意されていてdataで取れますが、エラー時(fail)はなぜか用意されていない。。なぜ?使う機会が少ないからなの??
エラー時はjqXHRを使って'jqXHR.responseJSON'で取得できます。
$.ajax({
url: url,
type: 'POST',
data: data,
cache: false,
dataType: 'json',
})
.done(function(data, textStatus, jqXHR){
console.log(data);
})
.fail(function(jqXHR, textStatus, errorThrown){
console.log(jqXHR.responseJSON);
});
ちなみにjqXHRとは jQuery XMLHttpRequestの略。
成功時もあるので、dataはjqXHR.responseJSONでもOKです。
なぜ統一してくれなかったのか。。