勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

Ajaxの負荷対策

      2014/07/03

Ajaxを使ってボタンを押した際に表示を切り替える処理。
都度Ajaxを使ってたんだけど、それだとサーバーに負荷が
かかるとのご指摘で、その対処法。

-----------
Ajaxでカンマ区切りの文字列を取得
↓↓
受け取ってカンマ取り外して配列化
↓↓
配列から一つずつ取り出す。取り出した分配列から削除
↓↓
無くなったら冒頭に戻る
-----------

というもので、DBへの接続を極力減らす。

$(function(){

//変数を宣言。グローバル変数として使えるようにする。
var name_js = "";
var name_array = "";

//Ajax部分を関数化
function name_ajax(){
$.ajax({
dataType : "jsonp",
url: "https://aaa/bbb/ccc/index.php",
success: function(msg){
if(msg){
//文字列を変数に入れる
name_js = msg;
//文字列をカンマを取って配列化
name_array = name_js.split(",");
//配列の一番最初の値を取り出す
$("#name").val(name_array[0]);
                    //取り出したところを配列から排除する
name_array.splice(0, 1);
}
}
});
}

    //ページ読み込み時にAjaxを使用
name_ajax();

    //マウスボタンを押した際に処理
$("#name_change").mousedown(function(){
        //配列の中身が0の場合の処理
if (name_array.length == 0) {
            //Ajaxの関数を呼び出して配列取得
name_ajax();
        //配列の中身がある場合の処理
} else {
            //配列の一番最初の値を取り出す
            $("#name").val(name_array[0]);
            //取り出したところを配列から排除する
name_array.splice(0, 1);
}
});
});

値取り出し、配列から排除を2回書いているので、

もうちょっとスマートに出来そう。

 - Ajax, jQuery

  関連記事

htmlタグが入った内容の文字を丸める

phpである文字列が○文字以上だった際、 省略してお尻に「……」をつけたいという ...

bootstrap-datetimepickerについて

日付のピッカーはよく見るけど、時間のピッカーはあまり見ないので、 普通のセレクト ...

配列をjQueryで取り扱う

やりたかった事は、 ・テキストボックスが複数ある。そのページに送信するクエリによ ...

テキストエリアのリアルタイムプレビュー

テキストエリア内に書いた内容をリアルタイムで プレビューする機能が必要となり、教 ...

ajaxのエラー詳細を取得する

success or errorで分岐処理はできるけど、 エラー詳細取れないの? ...

imgタグとPHPでグラフ作成

プラグインやライブラリを使わずにグラフを作る 機会があったのでメモ。 ■サンプル ...

Ajaxでプラグイン無しのファイルアップロード

画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...

フォームのpasswordとtextをjQueryで切り替えて

パスワード入力の際、大抵「●●●」みたいな形で隠されるが、 jQueryでそれを ...

jQueryのプラグインで簡単にイメージスライダーを作成(bxslider)

画像のスライダーを作る時に便利なプラグインであるbxslider。 簡単に使える ...

画像をドラッグ&ドロップでアップロード

■2015/04/15追記 以下記事の方が新しくて詳しい。 http://tai ...