1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:04,810 [MUSIC PLAYING] 3 00:00:04,810 --> 00:00:06,940 >> DOUG LLOYD: Igitur cum venisset unus more sort of suspicaretur malitiam 4 00:00:06,940 --> 00:00:12,120 De quodam sub umbellam JavaScript est aliquid dicitur AJAX. 5 00:00:12,120 --> 00:00:15,310 Usque hoc loco interaction cum JavaScript 6 00:00:15,310 --> 00:00:17,727 fuerit limitatum ad impulerit puga pyga quod quid cupido optantique optigit. 7 00:00:17,727 --> 00:00:19,560 Et specie, aliquid quod sub sole geritur 8 00:00:19,560 --> 00:00:22,950 noster websites spectare et sentiant mutationes. 9 00:00:22,950 --> 00:00:23,450 Ius? 10 00:00:23,450 --> 00:00:26,540 Sicut in particulari, in document obiectum exemplar video, 11 00:00:26,540 --> 00:00:29,060 I mutaverunt background color. 12 00:00:29,060 --> 00:00:33,240 Cum autem malum, ut non ad aliquem specialem extra petitiones. 13 00:00:33,240 --> 00:00:36,800 Non ad id quod edit servo celerrime mihi librarius mittatur. 14 00:00:36,800 --> 00:00:39,620 Mutatis quae iam modo. 15 00:00:39,620 --> 00:00:42,245 Non habent reload pagina, et mutata rerum certus, 16 00:00:42,245 --> 00:00:43,760 ut magna. 17 00:00:43,760 --> 00:00:48,400 Tamen illic 'certus nonnullus manual user interaction involved. 18 00:00:48,400 --> 00:00:53,140 AJAX est frigus quod ars permittit nos a page update contentus, 19 00:00:53,140 --> 00:00:55,750 et non solum aspectum, et sentio, sine reloading. 20 00:00:55,750 --> 00:00:58,610 >> Et in specie cum dico adaequationis a page contentus, 21 00:00:58,610 --> 00:01:01,990 Im 'non dicens quod rewrite JavaScript in page usura. 22 00:01:01,990 --> 00:01:06,560 Im 'dicens actu petentibus magis notitia de server 23 00:01:06,560 --> 00:01:08,640 sine nostro page habens reload. 24 00:01:08,640 --> 00:01:10,850 >> Sed tale aliquid provectioris ars 25 00:01:10,850 --> 00:01:11,950 quod nos erant 'iens loqui in hoc video. 26 00:01:11,950 --> 00:01:13,720 Sumamus habere commercium. 27 00:01:13,720 --> 00:01:17,750 Quod cum facimus, Im 'iens ut postulantes ut textus ornare. 28 00:01:17,750 --> 00:01:21,140 Hic mox quid currens Apache web server. 29 00:01:21,140 --> 00:01:25,010 Ego quoque in obsidione dum petit Amicas a web page, 30 00:01:25,010 --> 00:01:26,890 sed non reficiunt pagina. 31 00:01:26,890 --> 00:01:30,000 >> Suus 'iustus iens asynchronously page update meum. 32 00:01:30,000 --> 00:01:31,840 Atque id quidem quae pro AJAX, 33 00:01:31,840 --> 00:01:35,400 est Asynchronous JavaScript et XML. 34 00:01:35,400 --> 00:01:37,910 XML est aliud genus markup sermone potes aliquod 35 00:01:37,910 --> 00:01:39,680 HTML sicut cogitatur. 36 00:01:39,680 --> 00:01:42,990 Non omnino eadem ratio, suus 'basically iustus a markup lingua. 37 00:01:42,990 --> 00:01:47,770 Sic suus 'an asynchronous JavaScript et markup lingua. 38 00:01:47,770 --> 00:01:50,590 >> Ita in ordine ad hoc uti AJAX technique-- AJAX 39 00:01:50,590 --> 00:01:52,230 separatum est programming lingua. 40 00:01:52,230 --> 00:01:55,300 Suus 'iustus modi set de techniques-- nos 41 00:01:55,300 --> 00:01:57,870 opus creare peculiarem JavaScript obiectum, quod 42 00:01:57,870 --> 00:02:00,689 dicitur XMLHttpRequest. 43 00:02:00,689 --> 00:02:01,980 Atqui facile est valde. 44 00:02:01,980 --> 00:02:04,550 Nos iustus dicere var, quicquid hoc volumus dicere, 45 00:02:04,550 --> 00:02:07,030 pares XMLHttpRequest novum. 46 00:02:07,030 --> 00:02:11,050 Nunc autem soluti sumus iam obtinuerit sort of an AJAX obiectum, 47 00:02:11,050 --> 00:02:14,370 vel an XMLHttpRequest obiectum, quod mos sino 48 00:02:14,370 --> 00:02:18,360 nos asynchronously page update nostrum. 49 00:02:18,360 --> 00:02:23,100 >> Post hanc nostram tuamque new obiectum, hoc XMLHttpRequest, 50 00:02:23,100 --> 00:02:27,760 Habemus ad aliquid onreadystatechange moribus. 51 00:02:27,760 --> 00:02:30,360 Onreadystatechange mores est vere iustus 52 00:02:30,360 --> 00:02:34,080 cum rogaret a web page, page 53 00:02:34,080 --> 00:02:35,880 namque ire per plures gradus. 54 00:02:35,880 --> 00:02:37,370 Prima petitio non est missus. 55 00:02:37,370 --> 00:02:39,860 Deinde, rogatus fuerit misit, non patiuntur. 56 00:02:39,860 --> 00:02:41,580 Tum deprecatio passum. 57 00:02:41,580 --> 00:02:43,680 Tunc petitio missus ad te. 58 00:02:43,680 --> 00:02:46,930 >> Ergo petitio plene oneratus in page. 59 00:02:46,930 --> 00:02:48,640 Illi diversis statibus. 60 00:02:48,640 --> 00:02:53,890 Itaque opus nostrum novum obiectum XMLHttpRequest 61 00:02:53,890 --> 00:02:58,740 mutare cum mutationes status parati. 62 00:02:58,740 --> 00:03:01,925 Et plerumque facimus haec definiens anonymous operatione consistat, quae 63 00:03:01,925 --> 00:03:04,490 sumus familiar cum ex Nunc JavaScript, quod 64 00:03:04,490 --> 00:03:09,840 dicitur cum mutatur status parati. 65 00:03:09,840 --> 00:03:11,340 Suus 'non magis quam. 66 00:03:11,340 --> 00:03:14,340 Erant 'iustus iens ut definiens anonymous munus, quaedam simile 67 00:03:14,340 --> 00:03:16,440 eramus faciens in JavaScript, ubi volumus 68 00:03:16,440 --> 00:03:18,750 habent anonymous function Respondeo dicendum quod ad click in, 69 00:03:18,750 --> 00:03:23,230 cum tabula seu facere variis variae res. 70 00:03:23,230 --> 00:03:25,220 >> Cum aliquid factum aliquid clicked. 71 00:03:25,220 --> 00:03:28,810 Ita suus iustus aliquid cum status agatur paginam 72 00:03:28,810 --> 00:03:30,160 mutationes. 73 00:03:30,160 --> 00:03:32,730 Sunt autem alii duo proprietates quae huiusmodi of-- haerent non 74 00:03:32,730 --> 00:03:35,524 tantum proprietates sunt inhaerens XMLHttpRequest, 75 00:03:35,524 --> 00:03:36,940 sed pulchellus magnis. 76 00:03:36,940 --> 00:03:39,815 Illic 'aliquid vocavit readyState, qua vos potest probabiliter suspicari, 77 00:03:39,815 --> 00:03:41,750 is mutata onreadystatechange. 78 00:03:41,750 --> 00:03:44,250 Is vere dixerit vobis facite quid readyState est. 79 00:03:44,250 --> 00:03:46,289 0, I, II, III et IV sunt possibilitates ibi, 80 00:03:46,289 --> 00:03:48,080 et huiusmodi effabitur rigide quae correspondent 81 00:03:48,080 --> 00:03:50,030 Mox de secunda ago. 82 00:03:50,030 --> 00:03:53,100 >> Et tunc status, quae hopefully si omnia bene esse, 83 00:03:53,100 --> 00:03:56,710 est CC, quae est brevis Nam certe, OK, 84 00:03:56,710 --> 00:03:58,330 qua sumus nota ex Http. 85 00:03:58,330 --> 00:04:03,735 Ita et nos erant 'sperans prompta state quatuor, et status CC. 86 00:04:03,735 --> 00:04:07,940 Et si terrestris domus nostra statum paratum est quatuor, et idem illud responsum rettulit 87 00:04:07,940 --> 00:04:11,490 parato induit page CC et status, 88 00:04:11,490 --> 00:04:13,580 eramus potens est omnia facere omnia prospere euenirent; 89 00:04:13,580 --> 00:04:17,209 nunc possumus asynchronously page update nostrum 90 00:04:17,209 --> 00:04:21,730 vacuus having ut reload totius contentus eam. 91 00:04:21,730 --> 00:04:27,710 >> Post weve definitur quid accidit ad onreadystatechange moribus, 92 00:04:27,710 --> 00:04:31,020 quod weve 'sedatus quod readyState IV et CC status est, 93 00:04:31,020 --> 00:04:33,900 omnes nos postulo efficio est patefacio sursum asynchronous 94 00:04:33,900 --> 00:04:38,530 petitionem, quod iustum est faciendo GET an Http generaliter pro quo obsecro. 95 00:04:38,530 --> 00:04:41,950 Iustus faciendo eam programmatically, sed per telam pasco. 96 00:04:41,950 --> 00:04:43,786 Deinde mittit impetravisse. 97 00:04:43,786 --> 00:04:45,660 Ita quid facit maybe vultus amo in context? 98 00:04:45,660 --> 00:04:49,790 Ita hic 'quod functio agitur AJAX petitiones. 99 00:04:49,790 --> 00:04:50,290 OK? 100 00:04:50,290 --> 00:04:52,430 Et Ive 'libitu dixit accipit rationem. 101 00:04:52,430 --> 00:04:55,550 Et hoc quasi a general osseus here. 102 00:04:55,550 --> 00:05:00,890 Principio habetur nos a new XMLHttpRequest obiectum. 103 00:05:00,890 --> 00:05:03,830 Ergo oportet ponere onreadystatechange moribus. 104 00:05:03,830 --> 00:05:06,970 Itaque ego dicturus cum readyState mutationes, 105 00:05:06,970 --> 00:05:10,110 Volo dicere hoc munus. 106 00:05:10,110 --> 00:05:12,570 >> Quod est iens ut roget quaestio, si readyState 107 00:05:12,570 --> 00:05:17,240 est IV, si mutavit readyState ad IV et CC statu, 108 00:05:17,240 --> 00:05:20,799 habuimus tam prospere petitionem I velint aliquid pagina. 109 00:05:20,799 --> 00:05:22,590 Quod puteus 'take a inviso at damnavit exemplum eorum qui 110 00:05:22,590 --> 00:05:25,010 quod sit in alio. 111 00:05:25,010 --> 00:05:27,830 Itaque iam definivimus anonymous meum munus, 112 00:05:27,830 --> 00:05:31,340 responsione mea functionem quoties in readyState mutationes. 113 00:05:31,340 --> 00:05:37,120 >> Sic ego iustus aperire petentibus, usura Patefacio modus. 114 00:05:37,120 --> 00:05:39,160 Et ego mitto impetravisse. 115 00:05:39,160 --> 00:05:41,980 Quod lets inspice magis concrete exemplum 116 00:05:41,980 --> 00:05:46,290 quid AJAX potest facere nostrum web pages. 117 00:05:46,290 --> 00:05:49,740 Habeo igitur simplicissimo page home.html vocatur. 118 00:05:49,740 --> 00:05:53,620 Indicio est parcere et hic aliqua gutta descendit menu. 119 00:05:53,620 --> 00:05:55,390 >> Et secundum hoc dicitur uno recognosces. 120 00:05:55,390 --> 00:05:59,150 Sed a nunc censeo source codice ipsa intuemur. 121 00:05:59,150 --> 00:06:01,080 Ideo ecce ego aperiam home.html. 122 00:06:01,080 --> 00:06:03,490 123 00:06:03,490 --> 00:06:04,740 Et videbimus quid agatur. 124 00:06:04,740 --> 00:06:08,240 Sic et hic in ipso montis vertice, ego quidam JavaScript effercio quod suus 'iens in. 125 00:06:08,240 --> 00:06:12,470 >> Et hic, ut videtur habere a cuius ID div est infodiv, 126 00:06:12,470 --> 00:06:15,290 et aliqua notitia non est iturus. 127 00:06:15,290 --> 00:06:16,374 Deinde in hac forma. 128 00:06:16,374 --> 00:06:18,081 Et intus huius forma, habeo tibi aliquid 129 00:06:18,081 --> 00:06:20,200 Select a dicitur, quod sicut gutta descendit menu 130 00:06:20,200 --> 00:06:22,150 in fasciculum diversis nibh. 131 00:06:22,150 --> 00:06:26,150 Et videtur quod mutatur, quando bene habet quod delectus 132 00:06:26,150 --> 00:06:30,600 mutantur, Im 'iens ut functionem quamcunque cs50Info, 133 00:06:30,600 --> 00:06:33,190 et tunc Im 'iens in this.value, 134 00:06:33,190 --> 00:06:35,740 ubi hoc refertur ad quae optionem ad id delectus, 135 00:06:35,740 --> 00:06:39,820 Et hic utilitas harum optio value = pares vacuum, "blumberg" 136 00:06:39,820 --> 00:06:42,610 "Bowden," "chan," et "malan." 137 00:06:42,610 --> 00:06:45,090 >> Ita quod in actu fortitudinis quando hoc futurum? 138 00:06:45,090 --> 00:06:48,800 Bene, lets accipies respice blumberg.html. 139 00:06:48,800 --> 00:06:51,330 140 00:06:51,330 --> 00:06:53,924 Vultus amo suus 'iustus a snippet alicuius Html. 141 00:06:53,924 --> 00:06:56,090 Et sane quid sum spe futurum sit here 142 00:06:56,090 --> 00:07:00,020 Im 'iens ut possit quod plug in hoc directe html Define 143 00:07:00,020 --> 00:07:02,970 vacuus having ut reload paginae, ut cum 144 00:07:02,970 --> 00:07:07,510 Eligo vulvam occumbo-down menu, information about Annam, 145 00:07:07,510 --> 00:07:11,100 in particulari, informationes huius hic in blumberg.html, 146 00:07:11,100 --> 00:07:12,574 quod in pagina ostendit. 147 00:07:12,574 --> 00:07:13,740 Nec oportet reficere. 148 00:07:13,740 --> 00:07:16,842 Si voluissem ire alio eorum opera indicata esset ostendo sursum. 149 00:07:16,842 --> 00:07:17,550 Quid enim aliud faciam hoc? 150 00:07:17,550 --> 00:07:20,290 Iterum, hoc requirit quosdam nobis esse adhibendos putaverunt AJAX. 151 00:07:20,290 --> 00:07:22,540 Et sic, puteus 'patefacio sursum ajax.js. 152 00:07:22,540 --> 00:07:25,550 Et hic sit ea functio, cs50Info. 153 00:07:25,550 --> 00:07:27,410 Si nomen non est, consulta revertor. 154 00:07:27,410 --> 00:07:31,450 Si ego non inveniebant quid facerent illi vacuis optio electus. 155 00:07:31,450 --> 00:07:35,420 Aliter, Im 'iens partum a novus XMLHttpRequest. 156 00:07:35,420 --> 00:07:39,020 Et tunc dicturus sum, quando readyState mutationes, vocare hoc munus. 157 00:07:39,020 --> 00:07:43,630 >> Et si est readyState IV et CC status est, 158 00:07:43,630 --> 00:07:45,740 hic 'aliquantulus frenum jQuery on line of XIII. 159 00:07:45,740 --> 00:07:50,450 Sed facio dicit mutare contentis infodiv 160 00:07:50,450 --> 00:07:57,820 ut quidquid ad reditum responsum a HttpRequest. 161 00:07:57,820 --> 00:07:59,590 >> Quæ est iniquitas mea HttpRequest? 162 00:07:59,590 --> 00:08:02,020 Bene, quod suus dexteram hic versus XVIII et XIX. 163 00:08:02,020 --> 00:08:08,550 Linea XVIII, Im 'basically praeparans GET petitionem a nomine + .html. 164 00:08:08,550 --> 00:08:11,170 Et iterum: Quia hic est nomen argumento quod erat 165 00:08:11,170 --> 00:08:14,280 Transierunt sicut a parameter ad cs50Info. 166 00:08:14,280 --> 00:08:18,460 >> Sic basically, in alicuius vado nomen, quod illam bene 167 00:08:18,460 --> 00:08:22,980 quod vidimus in occumbo-down menu scribe. 168 00:08:22,980 --> 00:08:24,450 Im 'questus quod nomen. 169 00:08:24,450 --> 00:08:29,530 Vellem ego loquor tibi impetra mihi placet quod file.html, 170 00:08:29,530 --> 00:08:31,020 et tunc mittet impetravisse. 171 00:08:31,020 --> 00:08:34,820 >> Et sic quod est iens onreadystatechange esse et audiendo expectationis et expectans 172 00:08:34,820 --> 00:08:39,460 et exspectans, donec readyState est IV et CC status. 173 00:08:39,460 --> 00:08:44,970 Sic suus ut ministraretur ei et rogatus eram prosperitas. 174 00:08:44,970 --> 00:08:49,500 Et si suus 'iens mutare contentis infodiv 175 00:08:49,500 --> 00:08:53,030 responsum esse quam recepit. 176 00:08:53,030 --> 00:08:54,930 >> Sic lets 'videre quomodo hoc ut etiam operemur. 177 00:08:54,930 --> 00:08:58,860 Ita dux mihi eris pasco fenestram heus erimus. 178 00:08:58,860 --> 00:09:01,359 Sic lets 'inspice Ajax hic quid agatur. 179 00:09:01,359 --> 00:09:03,400 Sic puteus eligere aliquem ex occumbo-down menu. 180 00:09:03,400 --> 00:09:06,079 Ac per hoc igitur, iustus sumo Anna. 181 00:09:06,079 --> 00:09:08,120 Et ad primam apperceptionem quod Anna notitia mutavit, 182 00:09:08,120 --> 00:09:11,030 sed non habent any-- meum page non omnino reload. 183 00:09:11,030 --> 00:09:12,190 Effercio postquam quievit interitus. 184 00:09:12,190 --> 00:09:13,320 Potissimum effercio postquam quievit interitus. 185 00:09:13,320 --> 00:09:14,320 AJAX Test non mutare. 186 00:09:14,320 --> 00:09:16,700 Felis ipsum, hoc occumbo-down menu non mutare. 187 00:09:16,700 --> 00:09:18,260 Sed notitia ibi fecit mutationem. 188 00:09:18,260 --> 00:09:20,218 Et pendentes, quam meus computer cito moves, 189 00:09:20,218 --> 00:09:24,430 praesens contentum fore viderent abit, ac lepra volatilis realiter 190 00:09:24,430 --> 00:09:24,930 cito. 191 00:09:24,930 --> 00:09:27,320 Quod contentus sit ex infodiv delevit, 192 00:09:27,320 --> 00:09:29,940 et tunc reponi cum a novum asynchronous petitionem. 193 00:09:29,940 --> 00:09:34,410 >> Si igitur artem eam dicere Rob-- rursus inspice, 194 00:09:34,410 --> 00:09:38,379 et fortasse iam actu cito evanescunt et redeunt. 195 00:09:38,379 --> 00:09:38,920 Videris, quoniam transivit? 196 00:09:38,920 --> 00:09:41,400 Quomodo iustus popped away, et tunc repleri? 197 00:09:41,400 --> 00:09:43,640 Ut 'AJAX petitionem sort of captus locus. 198 00:09:43,640 --> 00:09:46,060 Et pendentes persona eligo, Im ' 199 00:09:46,060 --> 00:09:50,690 faciens diversa asynchronous petentibus a diversus lima 200 00:09:50,690 --> 00:09:52,730 servo meo habeo. 201 00:09:52,730 --> 00:09:55,550 Summa autem mea infodiv sunt updating, 202 00:09:55,550 --> 00:09:58,457 ex horum elegi. 203 00:09:58,457 --> 00:10:00,040 Ut unus omnes Ajax suus. 204 00:10:00,040 --> 00:10:04,090 Sinit haec asynchronous precibus ad paginam updates. 205 00:10:04,090 --> 00:10:06,450 Vacuus having ut refice viscera totius page, 206 00:10:06,450 --> 00:10:08,520 erant 'iens impetro novum content ab ea faciens 207 00:10:08,520 --> 00:10:11,170 novum recens petitionem mittendam curabit ad server. 208 00:10:11,170 --> 00:10:13,420 Itaque fieri nostra pagella admodum aliquantulus magis strenuus. 209 00:10:13,420 --> 00:10:15,128 >> Et dabimus tibi et ad perfectiora feramur, non 210 00:10:15,128 --> 00:10:17,700 vires adepto huiusmodi dicite, your email inbox, 211 00:10:17,700 --> 00:10:19,850 ubi non inveniebant quid facerent illi. 212 00:10:19,850 --> 00:10:22,560 Sed non a click click occumbo-down menu vel aliquid 213 00:10:22,560 --> 00:10:25,920 et subito tua novissima inscriptio ostendit in summo. 214 00:10:25,920 --> 00:10:27,840 Quod suus 'etiam iustus an Aiax rogatu. 215 00:10:27,840 --> 00:10:30,460 Aiax postulans vestris server, et email server, 216 00:10:30,460 --> 00:10:33,360 mittere super omnes notitiae etiam praecedentes de tuis Aliquam emails, 217 00:10:33,360 --> 00:10:38,110 et quod vides perisse iterans in screen ut esset uxor tua newest set de emails. 218 00:10:38,110 --> 00:10:41,080 Ac si novam Nihil ergo quod intentio div 219 00:10:41,080 --> 00:10:44,580 mutabit reflectere updated contentus. 220 00:10:44,580 --> 00:10:45,480 Im Doug Lloyd. 221 00:10:45,480 --> 00:10:47,500 Hoc est CS50. 222 00:10:47,500 --> 00:10:49,229