..


Sponsor Bağlantılar

JQuery 1.5 yenilikler

Riccardo Brambilla tarafından yazılmış Makale
3 Sayfa 1

Bu ilk temelde bir hata sabit sürümü sonrası 1.5.1 dönüşü ardından, sevgili jQuery sürüm 1.5 bir kaç hafta dışında.

İlk içgüdüsü bana zaten çok iyi çalışmalarını devam 1.4.x şube, bu konuda biraz daha fazla zaman kalması söz değil, çünkü sadece bu yeni sürüm üretmek için bir süre bekleyin düşünüyoruz yol açtı versiyon kullanıcıları istikrar ve güvenlik duygusu verir.

Ama Neyin değiştiğini okumak ve ilave zaman hemen fikrimi değiştirdim.

1.5 değişiklikler önemli olmasa da çok ne kadar iş özellikle olan değişiklikleri çığır açan aramaya çekinmeyin formu Ajax geliştiricileri, çok değil, genel olarak (diğer çerçeveler zaten kullanımda ne, perde arkasında yapıldı maruz kalan özellikleri İşte şimdi tanıtmak) ama jQuery için.

Biz biraz daha özel olarak yapıldı görmek.

Form Ajax Devrimi (ve üstlenmeden)

$ Uzantısı. Ajax ()

Çerçeve geliştirme ekibi Ajax API çoğu yeniden yazıldı $ işlevselliğini genişletmek için üç yol sunar Ajax ():. Ön filtre, dönüştürücüler ve nakliye

Ön filtre

Bir ön filtre olarak önceden $ tarafından herhangi bir tedavi seçenekleri, belgelerinde açıklananlar ajax istek aslında gönderilmeden önce adında bir geri arama fonksiyonu, ve. Ajax () kendisi.

Ön filtreyi $ kullanarak kaydedilir AjaxPrefilter ().

 



 $. AjaxPrefilter (function (seçenekleri, originalOptions, jqXHR)

 

Bir jqXHR, bir XMLHttpRequest ile zenginleştirilmiş şimdilik bir sarıcı olarak düşünün ne açıklayacağız.

Belgelerde en ilginç örnek, varolan seçeneği değiştirmek için ön filtre olası kullanımını açıklar






 $. AjaxPrefilter (function (seçenekler) {



  



 if (options.crossDomain) {



    



 options.url = "http://miodominio.it/proxy/" + encodeURIComponent (options.url);



    



 options.crossDomain = false;



  



 }







 });



Seçenek crossDomain ise çağrı URL http://mydomain.net/proxy/ için vekalet olduğunu söylemek için.

Dönüştürücüler

A dönüştürücü veri türü alındığında adında bir geri çağırma işlevi bekleniyor farklı olmasıdır.

Ve mümkün $ kullanmak AjaxSetup () küresel olarak bu kayıt için.






 $. AjaxSetup ({



  



 dönüştürücüler: {



    



 "Miodatatype metin": function (textValue) {



      



 if (geçerli (textValue)) {



        



 / / Burada özel mantık ayrıştırmak için!



        



 miodatatypeValue dönmek;



      



 Else {}



        



 / / Bir çözümleme hatası bildirir



        



 özel durum;



      



 }



    



 }



  



 }







 });



Yoksa gerektiren her arama için doğrudan satır içi arama:





 $. Ajax (url, {



  



 dataType: "xml metin miodatatype"



  



 dönüştürücüler: {



    



 "XML metin": function (xmlValue) {



      



 / / Burada mantık çözümler!



      



 textValue dönmek;



    



 }



  



 }







 });



Bir dönüştürücü kullanmak için en anlamlı nedeni, sonra bir dönüş türü, ilk örnek olarak kendi veri türlerini tanımlamak için bir yol sağlar ki, biz bu tür miodatatype talep edebilir:






 $. Ajax (url, {



  



 dataType: "miodatatype"







 });



Not: veri türü küçük dizeleri olarak tanımlanması gerekir.

Ulaştırma

Yeteri kadar dönüştürücüler ön filtre edildi ve ajax istekleri şekillendirme için, nesneleri belgeleri "kullanmayın" veya onları kullanmak zorunda hissediyorum ", belki de yansıtmaları gerektiği gibi çevirmek istiyorsunuz son çare (tanımlar, mevcut nakliye yapılırsa Eğer) "kullandığınızı mantık.

Ancak nakliye iki işlevleri sağlar: gönderip iptal ve $ kullanılarak kaydedilmelidir AjaxTransport ()..

Burada belgelere verilen temel bir örnek:






 $. AjaxTransport (function (seçenekleri, originalOptions, jqXHR) {



  



 if (/ * transportCanHandleRequest * /) {



    



 {Return



      



 göndermek: fonksiyon (başlıklar, completeCallback) {



        



 / * / Kuyruk * Gönder



      



 }



      



 iptal: function () {



        



 / * İptal kodu * /



      



 }



    



 };



  



 }







 });



ve rahatınız için tercüme parametrelerin açıklaması:

  1. seçenekler istek seçenekleri
  2. originalOptions seçenekleri yöntem yanı sıra Ajax iletilen varsayılan ve ajaxSettings olmadan tanımlanmamış modiifcate
  3. jqXHR jqXHR talep konusu olan
  4. başlıkları ve taşıma destekliyorsa bulaşabilir talep haritasında anahtar / değer
  5. completeCallback ajax isteği tamamlanması bildirir işlevidir.

şöyle bir completeCallback tipik yapısı:

 



 fonksiyonu (durumu, statusText, tepkileri, başlıklar) {}

 
burada:
  1. durum yanıt HTTP durum kodu, klasik 200, 404 ...
  2. statusText yanıt açıklaması
  3. örneğin düz metin olarak bir yanıt: {text: textData} yanıtları taşıma tarafından kabul bütün formatlarda cevap içeren veri türü / değer tanımlayan isteğe bağlı bir harita
  4. başlıkları XMLHttpRequest.getAllResponseHeaders Başlıkları () tarafından sağlanan yanıt İÇEREN isteğe bağlı bir dizedir

Bu modül ajax esnekliğini artırmak için eklenmiştir ne tarif var, ama ortak kullanım için ben ertelenmiş getirilmesi üzerine çok ilginç yorum bulmak, ama jqXHR ajax arama döndürülen yeni bir nesne tanımlamak bunu yapmadan önce.

jqXHR

jqXHR aile tüm yöntemleri, özellikleri ve bir Promise tarafından tanımlanan davranışlar vererek arabirimi Promise uygulayan XMLHTTPRequest nesnesini bir üst kümesidir:

Tanım: Promise görevin sonucu salt okunur bir görünümüdür ve işlemin tamamlanması tarafından döndürülen değeri temsil eder.

Daha fazla bilgi için bkz: burada .

Aynı Kategoride ...
E-Öğrenme
CSS (Ders) CSS (Ders)
W3C CSS ve XHTML göre Web Tasarım ve Erişilebilirlik. 29 € dan başlayan fiyatlarla.
HTML (Ders) HTML (Ders)
29 € dan Web için biçimlendirme dili.
Javascript (Ders) Javascript (Ders)
Istemci tarafı komut dosyası için kılavuz tamamlayın. En düşük € 39.
Sponsor Bağlantılar