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です。
なぜ統一してくれなかったのか。。