タグ

Ajaxに関するNemisamaのブックマーク (2)

  • おじさんが若い時はね$.ajax()のオプションでsuccessとかerrorとか指定していたんだよ(追憶) - Qiita

    $.ajax({ url: "http://jsrun.it/assets/E/H/Z/t/EHZt3", success: function (data) { $("#results").append(data); }, error: function () { alert("読み込み失敗"); } }); // urlを適当なものに変更すると「読み込み失敗」のアラートが出ます。 jsdo.itで実行する これはInternet Explorer 6(故)が猛威を振るっていた時代の、jQuery1.4くらいの旧い書き方です。「成功したらさらに非同期通信をしたい」「失敗したら別の処理をしたい」等、他の処理が多くなるに連れてコールバック地獄に陥り、バグの温床となります。 もう辞めましょう。。。 イマドキの$.ajax()はこう書く イマドキは、jQueryのDeferredオブジェクトのth

    おじさんが若い時はね$.ajax()のオプションでsuccessとかerrorとか指定していたんだよ(追憶) - Qiita
  • 非同期通信(Ajax)をするときはタイムアウト処理を必ず入れてほしい(切実) - Qiita

    非同期通信(Ajax)を行うとき、きちんとタイムアウト処理を入れていますか? スマートフォンやタブレットでWebサイトを閲覧しているとき、地下に入ったりして通信ができなくなるというケースは頻繁に起こります。そんなとき、きちんとタイムアウト処理をしていないと、場合によってはいつまで経ってもローディングが終わらず、ユーザーが離脱してしまうということが起こります。質の高いWebコンテンツ制作のために、必ずタイムアウト処理は入れましょう。 jQueryでの実装例 たとえばjQueryでAjaxを扱うajax()メソッドには、timeoutという便利なオプションがあります。timeoutに指定した時間(ms)が経過しても通信が完了しない場合、エラー処理が実行されます。手軽に実装できるので、ajax()メソッドを使うときは必ず設定しましょう。 // 10秒経っても通信が成功しない場合は失敗処理を実行す

    非同期通信(Ajax)をするときはタイムアウト処理を必ず入れてほしい(切実) - Qiita
  • 1