Benim PHP sınıfları / komut AJAX mantığı eklemek gerekir?

4 Cevap php

Ben sadece bir PHP / AJAX sitesi yapmaya başladı ve ben "only include the content" için işlevsellik eklemek nerede diye merak ediyordum.

Bir kontrol benim başlığı ve altbilgi alfabelerde ifadeler "ContentOnly" parametresini olsun eğer ben var mıyım? Ve sonra benim AJAX çağrıları sorgu dizeleri o parametresini ekleyin?

Yoksa sadece ana içerik Div ​​kapmak için AJAX tarafında bir filtre kullanmak gerekir. Jquery gibi:

$(this).load("/myPhpPage.php #mainContentDiv")

The first method would be faster right? But the second method would keep the AJAX functionality on the presentation side, and out og my PHP.

Ya da üçüncü bir yöntem var mıdır? Oyu onlara doğrudan giderseniz, üstbilgi ve altbilgi vardır ki ben, sağlam benim PHP betikleri tutmak istiyorum. Şimdiden teşekkürler!

4 Cevap

AJAX kullanarak uğruna AJAX kullanmayın lütfen.

O dedi, çoğu AJAX kütüphaneleri bir AJAX isteği olduğunu belirten bir X-Requested-With HTTP başlığını geçmektedir. Siz vb başlık / altbilgi eklemek için karar olduğunu başlığını kullanabilirsiniz

Eğer sayfa istekleri işlemek için kullandığınız hangi paradigma bağlı olarak, ben genellikle denetleyici komut gibi işleme koymanızı öneriyoruz. Yapılan isteği tipine özgüdür görünüşüdür işleme mantığı işleme kontrol tabakası yerleştirmek için tamamen uygundur.

Ceejayoz önerisi olarak, isteğin kaynağı nedir denetleyici komut doğrulamak için (belirli olun bu sizin javascript kütüphanenin ajax fonksiyonları geçti oluyor ki!) X-istenen-ile başlığını kullanabilirsiniz ve daha sonra uygun görünümü hale getirebilir.

Söylenmiştir nedir ekleme, uygulama render görünümünün farkında olmamalıdır. Eğer javascript bir çağrı yapıyoruz - javascript çağrısı yapıldığı bağlamı bilmeli.

Bu ne demektir dönüş işleyicileri arama sırasında ele bilmek gerektiğidir. Ben bu tür işlemler için bulduğum en iyi yöntem çağrıldığını nedir tanımlamak ve onu denilen JSON nesneleri paket olduğunu. Sonra işler döndürülen zaman döndürülen nesne bu özelliklerin bazılarını ekleyebilirsiniz. Aynı çağrı işleyicisi sadece geri bağlamda referans geçebilir her şey için kullanılır Örneğin bu nesneyi geri döndü.

Gerçek bir amaca hizmet sürece daha olsa, AJAX kullanmayın.

X-Requested-With HTTP onun Ajax isteği oldukça gereksiz olduğunu göstermek için. Tarayıcı yaptığı gibi Ajax aramaları HTML isteği asla!

Çoğu durumda, AJAX çağrıları html ne de düz metin vermemelidir. Bir sayfaya isteği yaparken doğru MIME-türünü belirtmek ve kullanılan mim türüne sayfa anahtarı olduğundan emin olun. Bu şekilde zaman AJAX çağrı XML veya JSON istediğinde veya Düz metin o biçimde verileri alacak gerekir eğer HTML alır tarayıcı istek HTML.

Edit: AHAH Aslında bu durumda (technicality tho) daha iyi bir terimdir. Ben çok mime-tipi itme neden olan OP veri olarak algılanan içeriği.

Ancak ben yine de alıyorum ALL ajax aracılığıyla içerik size kazanç daha sonra kaybetmek, kötü bir tasarım olduğunu düşünüyorum. Bu yeni bir sayfaya gidin ve gerekli IF, içeriğinde bazı AJAX işlevselliği etmede daha iyi.

Bu işlevsellik AHAH böylece olması (örneğin içerik yapar) tarihinin itti gerek duymayan küçük errorbox olmadığını ve hatta benim ortodoks zihin ki yaşayabilirim :)

Eğer ağır hesaplama (yani ağaç) gerektiren bir başlık olsa bile javascript-Engelsiz gibi özürlü varsayalım olarak sadece javascript-Engelsiz de faydası olur diğer önbellek seçenekleri vardır.

Btw yorumlar için teşekkürler, ben gerçekten concieded olarak kapalı gelmek istemiyordu ama ben vurdu not sadece oldu görebilirsiniz.