JavaScript veya php: HTML oluşturmak gerekir?

7 Cevap php

Merry Christmas ve Mevsimler selamlar!

Hızlı bir soru, bazı önerileri arıyorum. Ben bir veritabanından veri talep ve bir tabloya kullanıcıya geri görüntüleniyor olacak bir site var. JQuery (AJAX), php ve MySQL kullanıyorum.

Nerede verileri görüntülemek için tablo için HTML oluşturmak için en iyi yerdir: php oluşturmak ve sunucuya geri gelen her şeyi (HTML + veri) göndermek gerekir, ya da php sadece jQuery verileri geri göndermek gerektiğini ve kod tablosunu yapmak ve veri eklemek?

Bu bir intranet üzerinde çalışıyor olsa da, ben hala speediest yaklaşımı tercih ediyor.

Şimdiden teşekkürler!

UPDATE:

Ben başkalarına yararlı olabilecek durumda bu konuya biraz ek bilgi eklemek istedim. Burada sunulan ayırma fikri ile tamamen kabul etti ve benim tasarım yaklaşımı olarak bu ile gitti. JSON içine gerekli veri almak ve düzenlemek için PHP kullanılan ve sonra döndürülen bilgileri görüntülemek için HTML oluşturmak için jQuery kullanılır. Bu durumda, ben jQuery kullanarak bir elektronik tablo tarzı tablo form yaratma ve PHP dönen gibi değerleri vardı "hücreler" doldurmamak edildi. Birkaç satır ve sütun, işler iyi koştu, ama ben dinamik jQuery ile giriş elemanları oluştururken, 16 x 16 tablo söylemek artırmak gibi ...

Bu noktada, ben bir kez daha IE6 çirkin karşı ürkütücü kadar koştu.

IE6 hala çalışmaya onaylı tarayıcı, yani benim app üzerinde çalışması için vardır. Firefox ve Opera, arayüz hızlı yükler benim tasarımını test ve kullanmak için bir zevk olduğu zaman. Ben IE6 aynı kodu çalıştırdığınızda, bu arayüzü oluşturmak için çok uzun sürer; benim kullanıcıların app düşünerek şeyleri tekrar tıklayarak yanıt değildi başlamak istiyorum yeterince uzun. Kodu, yeni tarayıcılarda düzgün çalışır çünkü ben sadece IE6 içinde JavaScript motoru bu kadar tebeşir. Yani, bu nedenle, ben, PHP azından iç tablo form elemanları oluşturmak var verilerle doldurmak ve ardından istemcisi bu geri göndermek için arayüz parçası için geri bir yeniden duyuyorum. Ben istedim, ama IE6 istemci tarafında şeyleri hızlandırmak için başka bir yol göremiyorum güzel ayrılık kırar.

Her neyse, sadece diğerleri burada sonuçlarında ilginizi çekebilir, ve benim gibi diğer yeni başlayanlar için, ne kadar tarayıcı desteği gereksinimleri tasarım seçenekleri etkileyebilir düşündüm.

Teşekkürler.

7 Cevap

İyi bir strateji oldukça GUI yönleri şeyler yapmak için Client Side kullanmak yani "separation of concerns" yaklaşımı kullanmaktır.

Ayrıca bu strateji Web üzerinde örneğin current trends ile iyi uyum unutmayın Google Web Toolkit (GWT).

Intranet bant genişliği eski aksak IE JS motoru olabilecek bir darboğaz değil, bu yüzden gönderme HTML (hatta daha iyi tarayıcılarda HTML parçaları yerli ayrıştırma hızlı JS ile DOM bina daha olmalı) oluşturulan söyleyebilirim.

En AJAX saf veri ve hiçbir html biçimlendirme olmalıdır söyleyebilirim. Ben bu katılmıyorum, ben AJAX ekran içinde yerlere HTML cepleri yükleme iyi olduğunu bulmak. Bir bakış kodlama açısından düşündüğümüzde, onun daha kolay sunucu tarafı teknolojilerini kullanarak HTML oluşturabilir ve sonra javascript sadece gitmek gerekir sayfada plop izin. Bu o (innerHTML bir sayfa içine yeni html koyarak en etkili yoludur) verimli olacak, iyi çalışır, ve kod bakım kolay olacaktır. Eğer javascript html oluşturmak izin verirseniz, o zaman bir şey ekran ile değiştirirse yerine sadece PHP daha, yaklaşık 2 basamak endişe var.

Ağ bant genişliği açısından speediest PHP çıktı JSON sahip ve biçimlendirme oluşturmak için jQuery kullanmak edilir.

Şablonları kullanarak örneğin - - istemci tarafı işleme (ve muhtemelen, uygulama) bakımından speediest biçimlendirme oluşturmak için PHP kullanıyor ve Ajax ile onu geçmek.

Eğer mutlak hızlı yaklaşım için gidiyoruz: PHP ile HTML serverside kılıyor. Eğer bir daha sürdürülebilir, temiz kod yaklaşım istiyorsanız: AJAX kod PHP gönderme JSON var. Bu şekilde sunum ve davranış verileri iyi bir şekilde ayrılmasını koruyabilirsiniz. Istemci üzerinde - Bu site görünüyor ve tüm aynı yerden HTML render kontrol edebilirsiniz eğer nasıl çalıştığını değiştirmek için daha kolay olacak.

Eğer veri almak ve kullanıcıya sayfayı dönmeden önce tablo oluşturmak durumunda, PHP her şeyi. Eğer bundan bir şey kazanıyor değilseniz AJAX flaş eklemek gerçekten gerek yoktur.

Kullanıcı sunucudan çoklu veri güncellemeleri talep / filtreleme olacak eğer ... Ben JavaScript JSON formatında PHP ile veri dönmek ve Javascript sayfasına dışarı HTML işlemek izin verirdim.

Ben sunucu tarafında HTML oluşturmak ve HTML bazı küçük iyileştirmeler yapmak için JavaScript kullanabilirsiniz. Tüm tarayıcı için geçerlidir, ve sunucu tarafında onu tespit% 100 emin değil bir HTML sayfası oluşturmak mümkün değil; gibi birçok tarayıcılar farklı bir, ve tarayıcı bir aile kullanılan özelliğin uygulanabilir olup olmadığını doğrulamak için özel HTML oluşturmak için tek yolu seçmek için kullanıcı için mümkün kılan kullanıcı aracısı kimliği güvenemeyiz.

Ne rapor genel olarak geçerlidir; özel durumda, geçerli olamazdı.