• 16-01-2022, 20:44:45
    #1
    Laravel projemde ajax ile gönderdiğim fonksiyon çıktısını ajax.blade içine alıp oradan çekiyorum. Burada ajax.blade içine liste gönderiyorum ve bu listedeki verileri sıra ile arka arkaya çekiyorum.
    Fakat burada yazılacak listenin tamamı yazılmadan ikinci ajax isteği gönderdiğimde gelen listeler birbiri ile karışıyor
    Örneğin
    liste1 = [1,2,3,4,5,6] ve
    liste2 = ["a","b","c"]
    şekilde data listelerim oluşuyor.
    Jax ile liste1 i çekip sırayla ekrana yazdırdığımda döngü bitmeden 4 yazarken liste2 yi ajaxa gönderdiğimde gelen verileri liste1 ve liste2 den karışık olarak getiriyor. Burada yapmak istediğim liste1 gönderince sadece liste1 bitmeden liste2 gönderince liste1 i olduğu yerde bırakıp liste2 yi yazmasını istiyorum. kodlarım aşağıdaki gibi
    <script>
         function arrayPlusDelay(array, delegate, delay) {
             var i = 0
    
             function loop() {
                 delegate(array[i]);
    
                 if (i++ < array.length - 1)
                     setTimeout(loop, delay);
             }
    
             setTimeout(loop, delay);
         }
    
         arrayPlusDelay({!! $data['wordList'] !!}, function (obj) {
            $("#wordMessage").html(obj).fadeIn().delay(3000).fadeOut()
        }, 4000)
    </script>
  • 16-01-2022, 22:53:04
    #2
    $("#wordMessage").append(obj).fadeIn().delay(3000).fadeOut()
    Yukarıdaki şekilde dener misiniz ilgili satırı?
  • 16-01-2022, 23:54:20
    #3
    Burada append ile ilk mesajın devamına diğer mesajları da yazıyor
    yani ilk mesaj merhaba ikinci mesaj günaydın ise merhaba, merhabagünaydın ... şeklinde uzuyor.
    Benim yapmak istediğim ise gelen listedekileri sıra ile gösterip gizlemek. ama sorun listeyi güncellediğim ajax ile ikinci isteği attığım anda oluyor. ilk oluşan dizi ile ikinci oluşan dizi birbirine karışıp karmaşık şekilde ilk dizi den ikinci diziden random geliyor bu kez mesajlar
  • 17-01-2022, 07:57:34
    #4
    @polatyener; O zaman istek üzerinden gelen verileri bir dizi oluşturup tamamını içerisine push etmen gerekiyor daha sonrasında bunları jQuery ile array içerisinde sort edip tekrardan döngüye sokup foreach ile yazdırman gerekecek aksi halde sıralı bir şekilde gelen ikinci isteği yazdıramazsın. Kısacası gelen tüm içeriği yeni bir array push edip tekrar foreach ile yazdırabilirsin.