Ajax.

3 Cevap php

When I use ajax, I have to use mysql_query again to get information in that file which is for ajax. Can I do action without mysql_query like with include();? Ask if you don't understand, because I guess I asked not very properly.

Ben bu dosyada, ajax dosyayı ulaşmaya çalıştığınızda edited: Tekrar üye bilgilerini almak zorunda. Yani, benim soru, bu önlemek için mümkün mü?

3 Cevap

Içerik müzakere ve önbelleğe alma bir arada kullanın, örneğin,

Controller
    Action
        // check if query is cached
        if(!Cache->hasSaved(Query))
            Result = Query->run
            Cache->save(Result)
        else
            Result = Cache->getSaved(Query)

        // check if Request was done via Ajax
        if(Request->isAjax)
            View->disableLayout
            View->set(JSON->encode(Result))
        else
            View->set(Result)

Gibi Ignacio explained, sunucuya her bir kişi, izole edilir. PHP shared nothing architecture, bu nedenle yeniden çalışmasını sorgu önlemek için yapabileceğiniz tek şey onu önbelleğe almaktır. İçerik müzakere sadece aynı sorgu kullanın ve bağlı istek bağlamında geri yardımcı olur, böylece normal aramalar için bir Denetleyici Ajax için Eylem ve bir tane yok.

Sunucuda bir PHP sayfası Her erişim izole bir eylemdir. Açıkça önbelleğe sürece Sonuçları girişler arasında önbelleğe değildir, örneğin oturumda.

Eğer sonraki çağrılarda veritabanı erişimi atlamak için izin verecek anahtar tarafından veritabanı sonuçlarını depolamak için izin verecek, yani memcache veya APC, bir önbelleğe alma katmanı uygulamak.