#実現したいこと
一定のタイミングでAjaxを使い、サーバーにアクセスしてview側に表示しているデータの差分を比較し、不足分だけを取得し、表示するようにしている。
#困っていること
var data_count = $('.chat_count').length;
上記のコードで要素数をカウントしているが、Ajaxで挿入した要素数がカウントされなくて困っている。
どのようにしたら、ajaxで出力した要素数がカウントされるかご教示いただけると幸いです。
js
1$(function() { 2 var POLLLING_INVERVAL_TIME_IN_MILLIS = 10000;//10s 3 (function polling() { 4 if(!document.hidden) { 5 getCountUp(); 6 } 7 window.setTimeout(polling, POLLLING_INVERVAL_TIME_IN_MILLIS); 8 }()); 9 10 11 function getCountUp() { 12 var room_id = document.getElementById("room_id").value; 13 //ここで、要素の数を取得している。要素の数とサーバーのレコード数を比較して不足分だけ取得するようにしている。 14 var data_count = $('.chat_count').length; 15 console.log(data_count); 16 if(data_count > 0){ 17 $.ajax({ 18 url: `/rooms/${room_id}/get_data_ajax/?count=${data_count}`, 19 type: "GET", 20 data: {memos: 'text'}, 21 dataType: "json", 22 success: function (data) { 23 for(var i=0;i<data.length;i++){ 24 console.log(data[i].text); 25 $('#chat_areat').append('<div class="row data_count"><div class="col py-2 border-bottom"><div class="user-name">' + `${data[i].text}` + '</div><div class="content">' + `${data[i].text}` + '</div></div></div>'); 26 } 27 }, 28 error: function (data) { 29 console.log("error"); 30 } 31 }); 32 } 33 } 34});
回答2件
あなたの回答
tips
プレビュー