jQuery.ajaxのdeferred

jQuery.ajaxのdeferred版、コールバック設定用のメソッド名が変わるそうで…

Deprecation Notice: The jqXHR.success(), jqXHR.error(), and jqXHR.complete() callbacks will be deprecated in jQuery 1.8. To prepare your code for their eventual removal, use jqXHR.done(), jqXHR.fail(), and jqXHR.always() instead.

sucessはdoneに、errorはfailに、completeはalwaysに。1.8から古い名前は deprecated になるそうだ。さっき知ったので、新しいメソッドがいつから有効になったのか知らんけど、1.7では既に使えるみたいですね。

メソッド名が短くなっていいすね。あとcompleteよりalwaysの方が分かりやすい。

var jqxhr = $.ajax("/hoge/fuga");
jqxhr.done(function(){ console.log("success") });
jqxhr.fail(function(){ console.log("error") });
jqxhr.always(function(){ console.log("complete") });