Plezier met jQuery Templating en AJAX

In deze tutorial zullen we bekijken hoe het bèta-template-systeem van jQuery uitstekend gebruikt kan worden om onze HTML volledig los te koppelen van onze scripts. We zullen ook snel de geheel vernieuwde AJAX-module van jQuery 1.5 bekijken.


Wat is Templating?

Templating is een newish (het is nog steeds in bèta, dus het zal waarschijnlijk enigszins veranderen naarmate het rijpt en naar de kern migreert, maar het is er het beste deel van een jaar), enorm krachtige jQuery-functie waarmee we een sjabloon kunnen specificeren om te gebruiken bij het bouwen van DOM-structuren via script, iets waarvan ik zeker weet dat we het bijna allemaal dagelijks doen.

Het is altijd ongelooflijk gemakkelijk geweest om jQuery te gebruiken om zoiets als dit te doen:

 $ ("# someElement"). children (). each (function () $ (this) .wrap ($ ("
")););

Met Templating kunnen we deze op snaren gebaseerde HTML-fragmenten uit ons gedrag verwijderen.

Hiermee wordt eenvoudig elk onderliggende element van verpakt #someElement in een nieuw

element. Er is niets mis mee om dit te doen; het is volkomen geldig en werkt goed in ontelbare situaties. Maar dat is HTML daar in ons script - inhoud vermengd met gedrag. In het eenvoudige voorbeeld hierboven is het geen groot probleem, maar echte scripts kunnen veel meer HTML-fragmenten bevatten, vooral bij het bouwen van DOM-structuren met gegevens die zijn verkregen via een AJAX-verzoek. Het geheel kan snel een puinhoop worden.

Templating stelt ons in staat om deze op snaren gebaseerde HTML-fragmenten uit onze gedragslaag te verwijderen en ze terug te plaatsen waar ze behoren in de inhoudlaag. Terwijl we dat doen, kunnen we ook een van de gloednieuwe, super coole AJAX-functies van jQuery 1.5 bekijken - uitgestelde objecten.


Ermee beginnen

In dit voorbeeld bouwen we een Twitter-widget die niet alleen enkele van onze recente tweets laadt, maar ook een lijst met vrienden, volgers en suggesties. Ik koos voor Twitter voor dit voorbeeld omdat het JSON uitvoert in het formaat dat we nodig hebben; het is gemakkelijk en leuk.

Dus laten we beginnen; de widget zelf zal worden opgebouwd uit de volgende onderliggende mark-up:

    jQuery, AJAX en Templating          

We gebruiken HTML5 en hebben de vereenvoudigde ingesloten DOCTYPE en meta charset element. We linken naar een aangepaste stijlpagina, die we in een oogwenk zullen maken, en om huidige versies van IE8 en lager te ondersteunen, gebruiken we een voorwaardelijke opmerking om te linken naar de door Google gehoste pagina. html5shiv het dossier.

Gebruik makend van terzijde

Deze widget zou waarschijnlijk in een zijbalk worden geplaatst en verschilt van de daadwerkelijke inhoud van de pagina waarop deze is weergegeven, maar heeft betrekking op de site als geheel. Met dat in gedachten voel ik een