今までajaxで通信が成功した時はsuccess: function(data, textStatus, xhr) {} error: function(data, textStatus, error) {}に分けていました。
しかし、ajaxを使い始めて間もないころに上記のコードは現在非推奨で、もしかしたら将来使えなくなるのでは?という意見もちらほら見
受けられました。
jqueryリファレンス曰くどうやら前まで書いていたsuccessコードは、jquery1.4以前の書き方らしくjquery1.8以降は下記の書き方を推奨
しているみたいです。
Login(e) { $.ajax({ url: "test.html", type: 'GET', contentType: 'application/json; charset=UTF-8', headers: { 'Content-Type': 'application/json', }, }).done(function(data, textStatus){ console.log("success"); }).fail (function(xhr, textStatus, errorThrown){ console.log("error"); }); }
successのところがdoneに変わっているのが見受けられます。そして、headerやcontentTypeなどの処理が)}でぶった切られ、その後
うぐにdone処理に移っています。筆者はこのheaderとdone部分を切り分けているところが気持ち悪く感じ、書いている時は違和感しか
ないです。(今も)
今後jqueryを使ってajax通信をしたいという方は今後はこのやり方でいいと思います。
ちなみに筆者が現在開発に使っているcreate-reactでajax以外にもaxiosという非同期通信の方法があるみたいです。
こちらもajaxと同じように簡単にapiを叩いたりjsonデータを受け取ったりできるので、余裕があれば勉強したいと思っています。