Ajaxの負荷対策
2024/01/12
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回書いているので、
もうちょっとスマートに出来そう。
関連記事
-
フォームのpasswordとtextをjQueryで切り替えて
パスワード入力の際、大抵「●●●」みたいな形で隠されるが、 jQueryでそれを ...
-
jQueryの指定されたイベントを実行する(trigger)
jQueryで $('ID').trigger('click'); というみたこ ...
-
amazon等のECサイトによくにあるアイテムの満足度を星マークで送信・表示する方法
amazon等のECサイトによくにあるアイテムの満足度を星マークかつ5段階で送信 ...
-
jquery.snipeの使い方
使い方によっては面白くなりそう。 ■jquery.snipe http://ra ...
-
日本地図のクリッカブルマップをjQueryで実装する方法(japan-map)
JavaScriptもしくはjQueryで日本地図を表示し、都道府県や八地方区分 ...