v2.5.2
Giriş yap

Ajax reload sorunu

mutluol
1,214 defa görüntülendi

merhaba arkadaşlar,
benim bir tablom var, datatables apisini kullandığım ve bu tablo içerisinde veritabanından alınan id ile işlem gerçekleştiren bir button var. buraya kadar her şey normal.

daha sonrasında form kullanmadan buttondan alınan değerler ile aşağıdaki işlemi gerçekleştiriyorum
<script>
$(document).ready(function(){

$(document).on('click', '#iptal', function(e){
	
	e.preventDefault();
	
	var uid = $(this).data('id');   
	$.ajax({
		url: '../anket.php?islem=tamamla',
		type: 'POST',
		data: 'id='+uid,
		dataType: 'html'
	})
	.done(function(data){
      if(data){     
                const Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                });
                $(function() {
                    Toast.fire({
                        type: 'success',
                        title: data
                    })
                })
    }else{

                const Toast = Swal.mixin({
                    toast: true,
                    position: 'top-end',
                    showConfirmButton: false,
                    timer: 3000
                });
                $(function() {
                    Toast.fire({
                        type: 'error',
                        title: '  İşlem Gerçekleşemedi Bir Hata Oluştu'
                    })
                })

    }
	})
	
});

});
</script>
buraya kadar bir hata yok doğru bir şekilde çalışıyor. bu scriptin altında ise, datatables scriptim yer alıyor ve yukarıdaki butona tıklandığında da burada da bir işlem gerçekleşiyor

$(document).ready(function() {

    	$(document).on('click', '#iptal', function(e){
    e.preventDefault()
    table.ajax.reload ();

});
kodun devamı standart yapıda yapılandırmalar columns falan ve daha sonrasında

{ "data": null, "render": function format ( d ) { return '<button data-id="'+d.id+'" id="iptal" type="button" class="btn btn-default btn-sm" data-toggle="tooltip" title="Anketi Tamamla"><i class="far fa-check-circle" style="color:#6f42c1"></i></button>'; } }
butonum geliyor buraya kadar da her şey normal la amma uzun anlatmışım ya

sorunum şu;
localhost üzerinde çalışıyorum butonu test ettiğimde veritabanında başarıyla değişiklik sağlanıyor 2. functionda ise tabloyu yenilemesi gerekiyor allah var bunu da yapıyor ama bilgisayarda test ettiğimde 30-40 denemede bir işlem gerçekleşiyor ama tablo yenilenmiyor mobilde ise 15-20denemede bir tablo yenilenmiyor sorunu çözmek için post edilen sayfada php ile refresh denedim gereksizmiş bi faydası olması daha sorasında localation.reload(true) scriptini post edilen sayfada işlem gerçekleştiren koşula yerleştirdim bu da sorunuma çözüm olmadı nasıl daha doğru bir yapı kurabilirim bu tablonun yenilenmesi için?

Cevap yaz
Cevaplar (1)
mutluol
1504 gün önce

not: table.ajax.reload (); kullanmak durumundayım çünkü başka türlü tablo yenilenmiyor. farklı bir yöntem kullandığımda veri json formatında tek satır tabloya geliyor. datatables bunu kullanabilirsin diyor stackoverflow da falanda baya araştırdım çözüm bulamadım