Bildirim sistemi yaptım fakat yenileme yaparken sayfanın stili bozuluyor
PHP AJAX ile bildirim sistemi geliştirdim sürekli olarak sayfa bozuluyor. Sayfa kodlarına baktığımda ise tüm stil ve js dosyalarının yenilenme süreci boyunca silinip geri geldiğini farkettim. Acaba sorun nedir?
jQuery kodları;
function loadDoc() {
$.ajax({
url: "ajax.php?option=bildirim",
success: function(e)
{
$('#noti_number').html(e);
$('#noti_numbera').html(e);
}
});
}
setInterval(loadDoc, 1000);
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (5)
arkadaşlar çözdüm sorunu, ajax kullanmadan ve html yerine @aykhan arkadaşımın söylediği load fonksiyonunu kullandım şu şekilde;
function loadDoc() {
$("#noti_number").load("ajax.php?option=bildirim");
}
setInterval(loadDoc, 1000);
sizi de bilgilendirmek istedim, teşekkürler
@aykhan maalesef hocam benim noti_number içerine yazdırmam gerekiyor. html komutunu bu yüzden kullanıyorum. başka bir yolu var mı bilmiyorum.
Merhaba htm() yerine for ve ya foreachin üst divini yenileye bilirsiniz.
yani
function loadDoc() {
$.ajax({
url: "ajax.php?option=bildirim",
success: function(e)
{
$("#noti_number").load(" #noti_number > *");
}
});
}
setInterval(loadDoc, 1000);
yukarıdaki kodda noti_number idsi foreachin dışında olması lazım yani eğer kodunuz aşağıdaki gibi ise
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">First</th>
<th scope="col">Last</th>
<th scope="col">Handle</th>
</tr>
</thead>
<tbody id="noti_number">
<? foreach($key as $k) { ?>
<tr>
<th scope="row">1</th>
<td>Mark</td>
<td>Otto</td>
<td>@mdo</td>
</tr>
<? } ?>
</tbody>
</table>
Tbodyi yenilemeniz lazimki döngü yeniden çalışsın tabiiki yukarıdaki kodun yazılışı yanlış ama kısadan anlatmak için hepsini yazmadım mantık doğru sadece
@kartal maalesef hocam bahsettiğim şey ondan ziyade, bildirim sayısı güncelleniyor o konuda bir sorun yok. sorun ajax ile setinterval komutunu aynı anda kullandığım için sayfanın html kodlarını yeniliyor sürekli. bu da sayfa stilinin bozulup düzelmesine neden oluyor. ekteki videodan kontrol edebilirsiniz.