2010-02-23 17 views
6

Javascript ile özelleştirilebilecek bir "rapor" sayfam olduğunu varsayalım. Değiştirilebilecek başlangıç_tarihi, bitiş_tarihi ve türü ("basit" veya "tam") olduğunu varsayalım. Şimdi Adres çubuğunun her zaman geçerli (özelleştirilmiş) görünümde bir "permalink" içermesini istiyorum, böylece kullanıcı kolayca kopyalayabilir. Ben Ajax olmadan bunu istiyorsanızPermalink ajax sayfaları için en iyi yöntemler

, ben sadece bir permalink olarak "Tam/rapor /? Başlangıç_tarihi = 2010-01-01 & end_date = 2010-01-31 & type =" gibi bir şey kullanmak. Ancak, URL'yi Javascript'ten güncellemek istediğimden, çapaları (#) kullanmam gerekiyor, aksi halde tüm sayfanın yeniden yüklenmesi gerekecektir.

Bu durumda permalinklerin nasıl oluşturulacağı konusunda en iyi yöntem var mı? "/ Report/# start_date = 2010-01-01, end_date = 2010-01-31, type = full" gibi bir şeyle gidip Javascript'te o şeyi ayrıştırırdım. Bununla başa çıkmak için daha iyi veya daha genel olarak kabul edilen bir yol var mı?

Ayrıca, her şeyi basitçe çözümlemek yerine Javascript ile uğraşmanın daha iyi bir yolu var mı?

Teşekkürler. Etki alanı kaynaklarına işaret bağlantıların grup varsa

cevap

0

, yapılacak en iyi yoludur: oldukları gibi

  • eklenti (some/site?start=4&end=10 gibi sorgu dizesi ile) URL'ler bırakın senin javascript wh üzerinde

    <a href=".." class="ajax">Some resource</a>

  • planı için bir kancaya sağlamak bu bağlantıların, bir sınıf onlar (düz metin, xml, JSON, html) üretecek tepkinin veri türüyle
  • tam sayfa veya ajax arama
  • sayfalar erişilebilir durumda bu şekilde bir yanıt dönmek isteyip arka uç kararını yapmak

Örneğin, PHP'de kolayca $ _SERVER değişken bakıp ajax yanıta tam sayfa yanıtını veya hazır dönmeye karar verebilir:

function isXmlHttpRequest() 
{ 
    return isset($_SERVER[ 'HTTP_X_REQUESTED_WITH' ]) && 
     ($_SERVER[ 'HTTP_X_REQUESTED_WITH' ] == 'XMLHttpRequest'); 
} 

Yerel sayfa kaynaklarını

html gibi:

<a href="#first">First</a> 
<a href="#second>Second</a> 

<div id="first">lorem</div> 
<div id="second">ipsum</div> 

Hiçbir şey ayrıştırmak gerekmez, yapmanız gereken tek şey budur .. sadece doğrudan a[href] dan alacağı kimlikli doğru div, göstermektir İyi bir uygulama olarak görülüyor, çünkü sayfanız da JS kapalıyken bile erişilebilir durumda kalıyor.

+0

Üzgünüz, ama bu sorunun nasıl yanıt verdiğini göremiyorum. Sorumu yeterince açık değilse, lütfen bazı yorumlar ekleyin ve geliştirmeme yardımcı olun. – ibz

+0

Sorunun en önemli bölümünü ** bold ** olarak işaretledim (şimdi).Sanırım bunu atladın, çünkü cevabınız bunu kapsamıyor. – ibz

İlgili konular