Ben bir AJAX çağrısı ile çalışan bir PHP komut dosyası var, ve bazen bazı insanlar için (30 saniye) çok uzun sürebilir. Ziyaretçinin dikkatini tutmak yardımcı olmak için, ben bir ilerleme ne kadar süreç boyunca bir bar yanı sıra, web uygulaması ne, vs vs hakkında rastgele gerçekleri listeleme göstermek
Süreci,% olduğunu tam olarak ne kadar göstermek için ilerleme çubuğunu güncelleştirmek için, komut dosyası bir oturumda ne "devlet" süreci, o yapması gereken miktarı için bir "toplam" ve bir "ilerleme yazar "nasıl yapıldığını çok söylemek. Uzun AJAX çağrısı yapılıyor olsa da, başka bir ayrı AJAX çağrı JavaScript doğru bir ilerleme çubuğu çevirmek böylece bu 3 oturum değişkenleri listeleyen bir sayfa yapılmış ve kendisi her 0.5 saniyede bir tekrarlar.
Sorun oturum verilerini almak için muktedir bu ikinci AJAX çağrı için sırayla, oturum kapatılması olmasıdır. Yani uzunluk komut, o oturumu açar veri yazar, sonra kapanır.
Bu yaparak kaynaklanan herhangi bir önemli performans kaybı var mı? Ne kadar bir uzun AJAX çağrısı birlikte olduğunu göstermek için daha iyi bir alternatif var mı?
EDIT: daha fazla kelimeleri dikkatle seçmiş. Süreç 30 + saniye çekmek için kullanılan, ve bunun yerine bir yinelenen gif gerçek bir ilerleme çubuğu göstermek için gerekli hissettim. Algoritması değiştirdikten sonra, şimdi sadece ortalama 1-5 saniye sürer, ama aşırı durumlarda 10 saniye kadar alabilir olduğunu tahmin ediyorum. Bu asenkron ve orada sayfadaki diğer içerik ve onlar işlemini başlatmak için seçmelisiniz. Onlar diğer sayfalara gitmek ya da pencereyi kapatmak ve bitmiş görmek için daha sonra geri dönebilirsiniz. Ben bunu yapmak için başka bir alternatif var "gerçek" ilerleme çubuğu göstermek için deneyerek veya eğer onun hızlı performans incindiğim Şimdi eğer zaman aralığı önemli ölçüde daha düşük olduğunu, ben merak ediyorum.