[MUSIC PLAYING] DOUG LLOYD: Igitur cum venisset unus more sort of suspicaretur malitiam De quodam sub umbellam JavaScript est aliquid dicitur AJAX. Usque hoc loco interaction cum JavaScript fuerit limitatum ad impulerit puga pyga quod quid cupido optantique optigit. Et specie, aliquid quod sub sole geritur noster websites spectare et sentiant mutationes. Ius? Sicut in particulari, in document obiectum exemplar video, I mutaverunt background color. Cum autem malum, ut non ad aliquem specialem extra petitiones. Non ad id quod edit servo celerrime mihi librarius mittatur. Mutatis quae iam modo. Non habent reload pagina, et mutata rerum certus, ut magna. Tamen illic 'certus nonnullus manual user interaction involved. AJAX est frigus quod ars permittit nos a page update contentus, et non solum aspectum, et sentio, sine reloading. Et in specie cum dico adaequationis a page contentus, Im 'non dicens quod rewrite JavaScript in page usura. Im 'dicens actu petentibus magis notitia de server sine nostro page habens reload. Sed tale aliquid provectioris ars quod nos erant 'iens loqui in hoc video. Sumamus habere commercium. Quod cum facimus, Im 'iens ut postulantes ut textus ornare. Hic mox quid currens Apache web server. Ego quoque in obsidione dum petit Amicas a web page, sed non reficiunt pagina. Suus 'iustus iens asynchronously page update meum. Atque id quidem quae pro AJAX, est Asynchronous JavaScript et XML. XML est aliud genus markup sermone potes aliquod HTML sicut cogitatur. Non omnino eadem ratio, suus 'basically iustus a markup lingua. Sic suus 'an asynchronous JavaScript et markup lingua. Ita in ordine ad hoc uti AJAX technique-- AJAX separatum est programming lingua. Suus 'iustus modi set de techniques-- nos opus creare peculiarem JavaScript obiectum, quod dicitur XMLHttpRequest. Atqui facile est valde. Nos iustus dicere var, quicquid hoc volumus dicere, pares XMLHttpRequest novum. Nunc autem soluti sumus iam obtinuerit sort of an AJAX obiectum, vel an XMLHttpRequest obiectum, quod mos sino nos asynchronously page update nostrum. Post hanc nostram tuamque new obiectum, hoc XMLHttpRequest, Habemus ad aliquid onreadystatechange moribus. Onreadystatechange mores est vere iustus cum rogaret a web page, page namque ire per plures gradus. Prima petitio non est missus. Deinde, rogatus fuerit misit, non patiuntur. Tum deprecatio passum. Tunc petitio missus ad te. Ergo petitio plene oneratus in page. Illi diversis statibus. Itaque opus nostrum novum obiectum XMLHttpRequest mutare cum mutationes status parati. Et plerumque facimus haec definiens anonymous operatione consistat, quae sumus familiar cum ex Nunc JavaScript, quod dicitur cum mutatur status parati. Suus 'non magis quam. Erant 'iustus iens ut definiens anonymous munus, quaedam simile eramus faciens in JavaScript, ubi volumus habent anonymous function Respondeo dicendum quod ad click in, cum tabula seu facere variis variae res. Cum aliquid factum aliquid clicked. Ita suus iustus aliquid cum status agatur paginam mutationes. Sunt autem alii duo proprietates quae huiusmodi of-- haerent non tantum proprietates sunt inhaerens XMLHttpRequest, sed pulchellus magnis. Illic 'aliquid vocavit readyState, qua vos potest probabiliter suspicari, is mutata onreadystatechange. Is vere dixerit vobis facite quid readyState est. 0, I, II, III et IV sunt possibilitates ibi, et huiusmodi effabitur rigide quae correspondent Mox de secunda ago. Et tunc status, quae hopefully si omnia bene esse, est CC, quae est brevis Nam certe, OK, qua sumus nota ex Http. Ita et nos erant 'sperans prompta state quatuor, et status CC. Et si terrestris domus nostra statum paratum est quatuor, et idem illud responsum rettulit parato induit page CC et status, eramus potens est omnia facere omnia prospere euenirent; nunc possumus asynchronously page update nostrum vacuus having ut reload totius contentus eam. Post weve definitur quid accidit ad onreadystatechange moribus, quod weve 'sedatus quod readyState IV et CC status est, omnes nos postulo efficio est patefacio sursum asynchronous petitionem, quod iustum est faciendo GET an Http generaliter pro quo obsecro. Iustus faciendo eam programmatically, sed per telam pasco. Deinde mittit impetravisse. Ita quid facit maybe vultus amo in context? Ita hic 'quod functio agitur AJAX petitiones. OK? Et Ive 'libitu dixit accipit rationem. Et hoc quasi a general osseus here. Principio habetur nos a new XMLHttpRequest obiectum. Ergo oportet ponere onreadystatechange moribus. Itaque ego dicturus cum readyState mutationes, Volo dicere hoc munus. Quod est iens ut roget quaestio, si readyState est IV, si mutavit readyState ad IV et CC statu, habuimus tam prospere petitionem I velint aliquid pagina. Quod puteus 'take a inviso at damnavit exemplum eorum qui quod sit in alio. Itaque iam definivimus anonymous meum munus, responsione mea functionem quoties in readyState mutationes. Sic ego iustus aperire petentibus, usura Patefacio modus. Et ego mitto impetravisse. Quod lets inspice magis concrete exemplum quid AJAX potest facere nostrum web pages. Habeo igitur simplicissimo page home.html vocatur. Indicio est parcere et hic aliqua gutta descendit menu. Et secundum hoc dicitur uno recognosces. Sed a nunc censeo source codice ipsa intuemur. Ideo ecce ego aperiam home.html. Et videbimus quid agatur. Sic et hic in ipso montis vertice, ego quidam JavaScript effercio quod suus 'iens in. Et hic, ut videtur habere a cuius ID div est infodiv, et aliqua notitia non est iturus. Deinde in hac forma. Et intus huius forma, habeo tibi aliquid Select a dicitur, quod sicut gutta descendit menu in fasciculum diversis nibh. Et videtur quod mutatur, quando bene habet quod delectus mutantur, Im 'iens ut functionem quamcunque cs50Info, et tunc Im 'iens in this.value, ubi hoc refertur ad quae optionem ad id delectus, Et hic utilitas harum optio value = pares vacuum, "blumberg" "Bowden," "chan," et "malan." Ita quod in actu fortitudinis quando hoc futurum? Bene, lets accipies respice blumberg.html. Vultus amo suus 'iustus a snippet alicuius Html. Et sane quid sum spe futurum sit here Im 'iens ut possit quod plug in hoc directe html Define vacuus having ut reload paginae, ut cum Eligo vulvam occumbo-down menu, information about Annam, in particulari, informationes huius hic in blumberg.html, quod in pagina ostendit. Nec oportet reficere. Si voluissem ire alio eorum opera indicata esset ostendo sursum. Quid enim aliud faciam hoc? Iterum, hoc requirit quosdam nobis esse adhibendos putaverunt AJAX. Et sic, puteus 'patefacio sursum ajax.js. Et hic sit ea functio, cs50Info. Si nomen non est, consulta revertor. Si ego non inveniebant quid facerent illi vacuis optio electus. Aliter, Im 'iens partum a novus XMLHttpRequest. Et tunc dicturus sum, quando readyState mutationes, vocare hoc munus. Et si est readyState IV et CC status est, hic 'aliquantulus frenum jQuery on line of XIII. Sed facio dicit mutare contentis infodiv ut quidquid ad reditum responsum a HttpRequest. Quæ est iniquitas mea HttpRequest? Bene, quod suus dexteram hic versus XVIII et XIX. Linea XVIII, Im 'basically praeparans GET petitionem a nomine + .html. Et iterum: Quia hic est nomen argumento quod erat Transierunt sicut a parameter ad cs50Info. Sic basically, in alicuius vado nomen, quod illam bene quod vidimus in occumbo-down menu scribe. Im 'questus quod nomen. Vellem ego loquor tibi impetra mihi placet quod file.html, et tunc mittet impetravisse. Et sic quod est iens onreadystatechange esse et audiendo expectationis et expectans et exspectans, donec readyState est IV et CC status. Sic suus ut ministraretur ei et rogatus eram prosperitas. Et si suus 'iens mutare contentis infodiv responsum esse quam recepit. Sic lets 'videre quomodo hoc ut etiam operemur. Ita dux mihi eris pasco fenestram heus erimus. Sic lets 'inspice Ajax hic quid agatur. Sic puteus eligere aliquem ex occumbo-down menu. Ac per hoc igitur, iustus sumo Anna. Et ad primam apperceptionem quod Anna notitia mutavit, sed non habent any-- meum page non omnino reload. Effercio postquam quievit interitus. Potissimum effercio postquam quievit interitus. AJAX Test non mutare. Felis ipsum, hoc occumbo-down menu non mutare. Sed notitia ibi fecit mutationem. Et pendentes, quam meus computer cito moves, praesens contentum fore viderent abit, ac lepra volatilis realiter cito. Quod contentus sit ex infodiv delevit, et tunc reponi cum a novum asynchronous petitionem. Si igitur artem eam dicere Rob-- rursus inspice, et fortasse iam actu cito evanescunt et redeunt. Videris, quoniam transivit? Quomodo iustus popped away, et tunc repleri? Ut 'AJAX petitionem sort of captus locus. Et pendentes persona eligo, Im ' faciens diversa asynchronous petentibus a diversus lima servo meo habeo. Summa autem mea infodiv sunt updating, ex horum elegi. Ut unus omnes Ajax suus. Sinit haec asynchronous precibus ad paginam updates. Vacuus having ut refice viscera totius page, erant 'iens impetro novum content ab ea faciens novum recens petitionem mittendam curabit ad server. Itaque fieri nostra pagella admodum aliquantulus magis strenuus. Et dabimus tibi et ad perfectiora feramur, non vires adepto huiusmodi dicite, your email inbox, ubi non inveniebant quid facerent illi. Sed non a click click occumbo-down menu vel aliquid et subito tua novissima inscriptio ostendit in summo. Quod suus 'etiam iustus an Aiax rogatu. Aiax postulans vestris server, et email server, mittere super omnes notitiae etiam praecedentes de tuis Aliquam emails, et quod vides perisse iterans in screen ut esset uxor tua newest set de emails. Ac si novam Nihil ergo quod intentio div mutabit reflectere updated contentus. Im Doug Lloyd. Hoc est CS50.