Oct
04
Posted on 04-10-2006
Filed Under (pixzone) by Federico Feroldi on 04-10-2006

Diamo a Cesare quel che è di Cesare, anche JQuery ha le sue pecche e dovrebbe imparare qualcosa dalle YUI soprattutto per quanto riguarda il supporto AJAX che in JQuery viene gestito dal modulo AJAX (integrato nel core) e nelle YUI dal componente Connection Manager.

Vediamo come le due librerie permettono di implementare una semplice richiesta AHAH:

JavaScript:

  1. $.ajax({
  2.     url: ‘/article/view/1′,
  3.     type: ‘GET’,
  4.  
  5.     success: function() {
  6.         document.getElementById(‘mydiv’).innerHTML = this;
  7.     },
  8.  
  9.     error: function() {
  10.         alert(‘Failed!’);
  11.     }
  12. });

JQuery se la cava con una sintassi estremamente compatta e funzionale a discapito però delle funzionalità. Infatti non abbiamo molto controllo sul tempo di timeout o sul tipo di errore in caso il trasferimento fallisca. Vediamo come se la cava YUI Connection Manager:

JavaScript:

  1. var tx = YAHOO.util.Connect.asyncRequest(‘GET’, ‘/article/view/1′, {
  2.     success: function(o) {
  3.         document.getElementById(‘mydiv’).innerHTML = o.responseText;
  4.     },
  5.  
  6.     failure: function(o) {
  7.         alert(o.statusText);
  8.     },
  9.  
  10.     timeout: 5000
  11. });

Una sintassi sicuramente più estesa ma che ci offre due vantaggi: impostare il timeout e gestire gli errori di connessione, infatti alla callback failure viene passato un oggetto che permette di sapere se la connessione è andata in timeout o se è stata bloccata dall’applicazione (altra caratteristica disponibile nella YUI ma non in JQuery).

Share and Enjoy: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • DZone
  • Reddit
  • Technorati
  • YahooMyWeb
    Read More   
Post a Comment
Name:
Email:
Website:
Comments: