javascript veya php - güncellenmesi için en verimli nedir?

4 Cevap php

Öyle gibi, benim ajax uygulamayı güncellemek için kullanılan bir javascript dosyası, birkaç güncelleme yöntemleri vardır:

function updateByPk(layer, pk) {
   url = "get_auction.php?cmd=GetAuctionData&pk="+pk+"&sid="+Math.random();
   update(layer, url);
}


function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
   update(layer, url);
}

function updateByPage(layer, query, pg) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&pg="+pg+"&sid="+Math.random();
   update(layer, url);
}

Daha ziyade bir ajax yöntemi kullanmak yerine, sadece sayfayı yeniden tarafından, kesinlikle php sayfalama ve bu gibi şeyler yapmak için daha verimli olacağını merak ediyorum. Ben yöntem daha verimli olduğu emin değilim, ya da her avantajları ve dezavantajları varsa.

4 Cevap

Ben soruyu alırsanız, o zaman sayfalama, ve benzeri, Javascript + AJAX ile yapılması daha iyidir, ya da sunucuya bir çağrı yoluyla yapılabilir olup olmadığını soruyorsun?

Ben şahsen sadece sunucuya bir istek kullanmak söyleyebilirim. AJAX (: P evet, bu teknik bir terimdir) faktörü "bling" için başka, bu gibi durumlarda, uneccesary olduğunu

Aklınızda erişilebilirlik ile doğru uygulama yazıyorsanız, birinin Javascript kapalı ve "sonraki sayfa" linklerden birine tıkladığında zaman için zaten bit "sunucu doğrudan çağrı" (yazmak zorundadır.

Orada Javascript olması 1) korumak için ekstra bir kod var demektir. 2) Eğer geri düğmesine bölünürler. Sadece AJAX yöntemini uygularsanız, o zaman diğer sayfalarda veri erişim yolu yoktur. Ve bunu yaparsanız (adres çubuğuna kopyalayarak) kendisine bağlayan kolay bir yolu var.

Ben şahsen sadece hiç bir kayıt formu doldururken bir kullanıcı adı alınmış ise kontrol, örneğin, uzakta başka bir işlevsellik almadan, sayfa işlevsellik eklemek için gidiyoruz şeyler için AJAX kullanır. Auto-önermek, vs vs

AJAX avantajları: Baz

  • Daha hızlı sayfa yükler ve daha az bant genişliği kullanımı demektir potansiyel olarak daha az aktarılan veriler.
  • Sorunsuz bir kullanıcı deneyimi

AJAX avantajları olmadan Paging:

  • Geri ve İleri düğmeleri tarayıcıda çalışacak
  • (Eğer page.php # pagenumber hile ile de AJAX ile yapabilirsiniz rağmen) belirli bir sayfanın URL'sini olabilir
  • Belki biraz daha kolay yazmak ve bakımı

Ajax istemci ve sunucu üzerinde daha kolay olacaktır. İstemci alışkanlık stil ve resim gibi tüm yeni varlıklar için kontrol etmek ve çok çabuk bir şeyler yük olacak, onların kaydırma sıfırlama olmayacaktır. Sunucu bir başlık ve altbilgi ile bir bütün sayfası oluşturmak zorunda değildir; Bu yöntem, yalnızca sayfanın parçası oluşturmak zorundadır.

Olumsuz, (bir yükleme spinner ekleyerek ve ilgili doodads) iyi UI ile kod biraz daha zor olmasıdır. Ve müşteri javascript devre dışı bırakmak, sizin sayfa sonları varsa. Yani gerçekten, ihtiyacınız hem siz hiç ajax yaparsanız. Ama Ajax zarif yıkılımında kod kolaydır.

<a href="/search?term=foo&amp;page2" onclick="loadPageViaAjax(2); return false">
  Next
</a>

Bu bile javascript olmadan çalışacak bir bağlantının bir örnek. Javascript açıksa, onclick tetiklenir, ajax olur ve return false ile bağlantı aşağıdaki durur. Herhangi bir JavaScript varsa, Onclick göz ardı edilir ve bağlantı, normal olarak takip edilir.

Bu verimlilik tanımına bağlıdır. AJAX ile yeni içerik yüklenmesi tel üzerinde gidiş daha az bayt net olacaktır, ama (ben sayfayı yeniden ne zaman varsayıyorum) statik dosyaları içine dinamik içeriği önbelleğe edemez eğer sunucu üzerinde daha yorucu olabilir. Ancak çok fazla AJAX güvenerek sayfaları kimin tarayıcıları javascript desteği yok (onlar var) ve zarar verebilecek siteleri yeteneği arama motorları tarafından endeksli olması kullanıcılar için daha az erişilebilir olmaya neden olabilir. Iki dünyanın senaryo A en iyi bağlantıları bir Reloaded sayfaya işaret izin olabilir, ancak AJAX ile yeni içerik yüklemek için javascript ile bu davranışı geçersiz olacaktır.