Ajax sorun, birden çok javascript çağrıları kullanarak verileri göstermiyor

1 Cevap php

Ben php kullanarak db mysql veri almak için ajax kullanan bir uygulama yazıyorum. Çünkü app doğası, kullanıcı javascript / ajax çağırmak için kullanılan bir "onclick" olayı vardır bir href linki tıklar. Ben o zaman gerekli veri ile küçük bir html tablo oluşturur, ayrı bir php fonksiyonu çağırarak, mysql dan veri alma ediyorum. Yeni tablo responseText geri iletilir ve bir div etiketi içinde görüntülenir. Tablolar sadece bunlardan veri etrafında 10-20 satırlar var. Bu işlevsellik iyi çalışıyor ve sayfa üzerinde olması gereken tam olarak html biçiminde verileri görüntüler.

Sorun bu. HREF "onclick" olayı birbiri ardına birden çok komut bir hakkı çalıştırmak gerekiyor. Ilk komut "mevcut" verileri günceller ve "update_existing" işlevinin içine responseText güncelleştirilmiş HTML ile sayfanın bir bölümünü yenilemek için bir çağrıdır. Yaptıktan Sonra bir "display_html" fonksiyonu da bu yeni HTML tablosu yaratmış olan sayfanın farklı bir bölüm hangi güncelleştirmelerin denir. Olay bu gibi görünüyor:

Güncelleştirme

Bu dize verilen parametreler ile php kullanarak dinamik inşa alır, ama kafa karıştırıcı alamadım bu yüzden, örneğin ben sadece parametreleri çıkardı.

"Update_existion () fonksiyonu aslında gerektiği gibi sayfanın bir bölümünü güncellemeleri display_html () işlevini çağırır. Ben 'neden sağ güncellemeden sonra fare aynı tıklama sayfanın farklı bir bölümü, güncellemeniz gerekir m sorunu sadece son çağrı benim ekranda güncellenmektedir) yine sağ ondan sonra. (display_html arıyor. Diğer bir deyişle, 2. fonksiyon çağrısı "display_html ()" yürütür ve sadece iyi yenilendi verileri görüntüler, ancak update_existing önceki çağrısı () çalışır ve düzgün bir veritabanını günceller, ama ben tarayıcıları basın tabii ki bunu istiyorum tam olarak nasıl yeni verileri görüntüler butonuna, "yenileme", ama yok sürece ekranda görüntülemek değil Kullanıcıların basın olmasını istiyorsanız, lütfen "yenilemek". Birden "display_html ekleyerek denedim () birbiri ardına hakkı, noktalı virgül ile hepsini ayıran ve sadece çok son işlev çağrısı aslında div elemanı yenilenir öğrendim çağrıları tablo bilgileri ile html sayfası, tüm önceki display_html () çağrıları çalışmış olsa da, onlar tarayıcı bir yenileme olmadan sayfasında görülebilir değildir.

Bu javascript veya ajax çağrısı ile ilgili bir sorun var mı, yoksa bu sadece bir unsuru bir anda güncellenmesini sağlar DOM bir kısıtlamadır. Ajax arama asynchroneous, ama ben sadece işleri dönemde uyumsuz, hem de denedim. Bu Firefox ve Internet Explorer hem de aynı

Herhangi bir fikir ne oluyor ve nasıl etrafında almak için bu yüzden bu birden çok komut çalıştırabilirsiniz oluyor?

1 Cevap

Ben jQuery javascript kütüphanesi kullanmayı salık ediyorum. Bana geldi live() tarayıcıda görünür ve üzerinde kalan fonksiyonları uygulamak için bu tablo için "beklemek" olduğunu gibi bazı funcions vardır.

Ayrıca, daha insan okunabilir yapma, kesinlikle yazmak kod kestirmeniz azaltmada size yardımcı olacak fonksiyonları büyük bir set.