Morsomt med jQuery Templating og AJAX

I denne opplæringen tar vi en titt på hvordan jQuery's beta-templeringssystem kan legges til utmerket bruk for å fullstendig avkoble vår HTML fra våre skript. Vi tar også en rask titt på jQuery 1.5s helt nyoppussede AJAX-modul.


Hva er Templating?

Templering er en newish (den er fortsatt i beta, så det er sannsynlig at det vil endre seg litt etter hvert som det modnes og migrerer i kjernen, men det har eksistert i det aller beste året), enormt kraftig jQuery-funksjon som lar oss spesifisere en mal som skal brukes når du bygger DOM-strukturer via skript, noe som jeg er sikker på at vi alle gjør på nesten daglig basis.

Det har alltid vært utrolig enkelt når du bruker jQuery til å gjøre noe slikt:

 $ ("# someElement"). barn (). hver (funksjon () $ (dette) .wrap ($ ("
"));;

Templating gjør det mulig for oss å fjerne disse strengbaserte HTML-kodene fra vår oppførsel.

Dette vil bare vikle hvert barnelement av #someElement i en ny

element. Det er ikke noe spesielt galt med å gjøre dette; det er helt gyldig og fungerer bra i utallige situasjoner. Men det er HTML der i vårt skript - innhold blandet opp med atferd. I det enkle eksemplet ovenfor er det ikke et stort problem, men skript i sann verden kan inneholde mange flere utdrag av HTML, spesielt når du bygger DOM-strukturer med data oppnådd via en AJAX-forespørsel. Hele greia kan raskt bli et rot.

Templering gjør det mulig for oss å fjerne disse strengbaserte utdragene av HTML fra vårt oppføringslag, og sett dem tilbake fast der de tilhører innholdslaget. Mens vi gjør det, kan vi også sjekke ut en av de helt nye, superkule AJAX-funksjonene i jQuery 1.5 - utsatte objekter.


Starter

I dette eksemplet vil vi bygge en Twitter-widget som ikke bare vil laste inn noen av våre siste tweets, men også liste noen venner, følgere og forslag. Jeg valgte Twitter for dette eksemplet fordi det utsender JSON i det formatet vi trenger; det er enkelt og morsomt.

Så la oss komme i gang; widgeten selv vil bli bygget fra følgende underliggende mark-up:

    jQuery, AJAX og Templating          

Vi bruker HTML5 og har inkludert den forenklede DOCTYPE og meta charset element. Vi knytter til et egendefinert stilark, som vi oppretter i et øyeblikk, og for å støtte dagens versjoner av IE8 og lavere, bruker vi en betinget kommentar for å koble til Google-vert html5shiv fil.

Ved hjelp av side

Denne widgeten vil trolig gå inn i et sidebjelke, og være forskjellig fra det faktiske innholdet på siden den vises på, men relatert til nettstedet som helhet. Med det i tankene føler jeg en