1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:04,810 [MUSIC nagpe-play] 3 00:00:04,810 --> 00:00:06,940 >> DOUG LLOYD: So isa pa uri ng paniwala na 4 00:00:06,940 --> 00:00:12,120 uri ng bumaba sa ilalim ng payong ng JavaScript ay isang bagay na tinatawag na AJAX. 5 00:00:12,120 --> 00:00:15,310 Hanggang sa puntong ito, ang aming pakikipag-ugnayan sa JavaScript 6 00:00:15,310 --> 00:00:17,727 ay limitado upang itulak ang isang button at may mangyari. 7 00:00:17,727 --> 00:00:19,560 At partikular, ang isang bagay na mangyayari 8 00:00:19,560 --> 00:00:22,950 ay ang aming mga website hitsura at pakiramdam ng mga pagbabago. 9 00:00:22,950 --> 00:00:23,450 Right? 10 00:00:23,450 --> 00:00:26,540 Tulad ng sa partikular, sa mga dokumento object modelo ng video, 11 00:00:26,540 --> 00:00:29,060 Ako ay nagbago ang kulay ng background. 12 00:00:29,060 --> 00:00:33,240 Ngunit kapag ginawa ko iyon, hindi ko na kailangang na gawin ang anumang espesyal na mga dagdag na mga kahilingan. 13 00:00:33,240 --> 00:00:36,800 Hindi ko na kailangang humiling na ipadala ang server sa akin ng isang bagong pahina. 14 00:00:36,800 --> 00:00:39,620 Binago ko lamang kung ano ako ay nagkaroon na. 15 00:00:39,620 --> 00:00:42,245 Hindi ko na kailangang i-reload ang aking page, at mga bagay na tiyak ay nagbago, 16 00:00:42,245 --> 00:00:43,760 kaya na malaki. 17 00:00:43,760 --> 00:00:48,400 Ngunit mayroong tiyak na ang ilang kasangkot manual ugnayan ng gumagamit. 18 00:00:48,400 --> 00:00:53,140 AJAX ay isang cool na pamamaraan na nagbibigay-daan sa amin na i-update ang nilalaman ng isang pahina, 19 00:00:53,140 --> 00:00:55,750 at hindi lamang ang hitsura at pakiramdam, walang reload. 20 00:00:55,750 --> 00:00:58,610 >> At sa pamamagitan ng partikular na kapag ako sabihin ang pag-update ng nilalaman ng isang pahina, 21 00:00:58,610 --> 00:01:01,990 Hindi ko na sinasabi sa pagsulat na muli kami mga pahina gamit ang JavaScript. 22 00:01:01,990 --> 00:01:06,560 Ako sinasabi namin ang aktwal na humiling karagdagang impormasyon mula sa server 23 00:01:06,560 --> 00:01:08,640 walang aming page na kinakailangang i-reload. 24 00:01:08,640 --> 00:01:10,850 >> Ngayon na ang uri ng isang piraso ng isang mas advanced na pamamaraan 25 00:01:10,850 --> 00:01:11,950 na kami ay pagpunta sa makipag-usap tungkol sa video na ito. 26 00:01:11,950 --> 00:01:13,720 Kami ay pagpunta sa may ilang mga pakikipag-ugnayan. 27 00:01:13,720 --> 00:01:17,750 Ngunit kapag ginagawa namin, pupuntahan ko na maging paggawa ng mga kahilingan sa server ng web. 28 00:01:17,750 --> 00:01:21,140 Sa kasong ito, lamang kung ano ang tumatakbo ang aking Apache web server. 29 00:01:21,140 --> 00:01:25,010 Pupunta ako sa maging ang paggawa ng mga karagdagang kahilingan habang ako ng pagbisita sa isang web page, 30 00:01:25,010 --> 00:01:26,890 ngunit ang aking pahina ay hindi i-refresh. 31 00:01:26,890 --> 00:01:30,000 >> Lamang Ito ay pagpunta sa asynchronously-update ang aking pahina. 32 00:01:30,000 --> 00:01:31,840 At na, sa katunayan, na AJAX ay para sa, 33 00:01:31,840 --> 00:01:35,400 ay Asynchronous JavaScript at XML. 34 00:01:35,400 --> 00:01:37,910 XML ay isa pang uri ng markup wika, at maaari mong ayusin ng 35 00:01:37,910 --> 00:01:39,680 tingin ng mga ito tulad ng HTML. 36 00:01:39,680 --> 00:01:42,990 Ito ay hindi lubos ang parehong bagay, ngunit ito ay talaga lamang ng isang markup language. 37 00:01:42,990 --> 00:01:47,770 Kaya ito ay isang asynchronous JavaScript at isang markup language. 38 00:01:47,770 --> 00:01:50,590 >> Kaya upang gamitin ang AJAX technique-- AJAX 39 00:01:50,590 --> 00:01:52,230 ay hindi isang hiwalay na programming language. 40 00:01:52,230 --> 00:01:55,300 Ito ay uri lamang ng isang set ng techniques-- namin 41 00:01:55,300 --> 00:01:57,870 na kailangan upang lumikha ng isang espesyal na JavaScript bagay, na 42 00:01:57,870 --> 00:02:00,689 ay tinatawag na isang XMLHttpRequest. 43 00:02:00,689 --> 00:02:01,980 Ngayon, ito ay tunay madali na gawin ito. 44 00:02:01,980 --> 00:02:04,550 Kami lamang sabihin var, ano man gusto naming tumawag sa bagay na ito, 45 00:02:04,550 --> 00:02:07,030 katumbas ng bagong XMLHttpRequest. 46 00:02:07,030 --> 00:02:11,050 At ngayon ngayon namin nakuha isang AJAX uri ng object, 47 00:02:11,050 --> 00:02:14,370 o isang XMLHttpRequest bagay, na kung saan ay magbibigay-daan sa 48 00:02:14,370 --> 00:02:18,360 amin upang asynchronously update ang aming mga pahina. 49 00:02:18,360 --> 00:02:23,100 >> Pagkatapos namin nakuha ang bagong object, ito XMLHttpRequest, 50 00:02:23,100 --> 00:02:27,760 kami ay may sa gawin ang isang bagay sa kanyang onreadystatechange uugali. 51 00:02:27,760 --> 00:02:30,360 Onreadystatechange pag-uugali ay talagang lamang 52 00:02:30,360 --> 00:02:34,080 kapag ikaw ay gumawa ng isang kahilingan sa isang web page, ang pahina 53 00:02:34,080 --> 00:02:35,880 napupunta sa pamamagitan ng isang bilang ng mga hakbang. 54 00:02:35,880 --> 00:02:37,370 Una, ang isang kahilingan ay hindi pa naipapadala. 55 00:02:37,370 --> 00:02:39,860 Pagkatapos, ang mga kahilingan ay ipinadala, ngunit hindi kumilos sa. 56 00:02:39,860 --> 00:02:41,580 Pagkatapos ay ang kahilingan ay kumilos sa. 57 00:02:41,580 --> 00:02:43,680 Pagkatapos ay ang kahilingan ay ibinabalik sa iyo. 58 00:02:43,680 --> 00:02:46,930 >> Pagkatapos, ang kahilingan ay ganap na-load sa iyong pahina. 59 00:02:46,930 --> 00:02:48,640 Iyon ang mga iba't-ibang mga estado. 60 00:02:48,640 --> 00:02:53,890 At kaya kailangan namin upang itakda ang aming bagong XMLHttpRequest object 61 00:02:53,890 --> 00:02:58,740 sa pagbabago kapag ang handa pagbabago ng estado. 62 00:02:58,740 --> 00:03:01,925 At kadalasan, ginagawa namin ito sa pamamagitan ng pagtukoy sa isang hindi nakikilalang function, kung saan 63 00:03:01,925 --> 00:03:04,490 hindi namin pamilyar sa mula sa JavaScript ngayon, na 64 00:03:04,490 --> 00:03:09,840 ay tinatawag na kapag ang handa pagbabago ng estado. 65 00:03:09,840 --> 00:03:11,340 Ito ay talagang hindi magkano ang higit sa na. 66 00:03:11,340 --> 00:03:14,340 Kami lamang ay pupunta na pagtukoy ng isang anonymous na function, uri ng tulad ng kung ano 67 00:03:14,340 --> 00:03:16,440 ang aming ginagawa sa JavaScript, kung saan gusto namin 68 00:03:16,440 --> 00:03:18,750 magkaroon ng isang hindi kilalang function tumugon sa isang on-click, 69 00:03:18,750 --> 00:03:23,230 o kapag kami ay gumagawa ng mapa ng ang iba't-ibang mga bagay sa isang array. 70 00:03:23,230 --> 00:03:25,220 >> Isang bagay ang nangyari kapag isang bagay ay nag-click. 71 00:03:25,220 --> 00:03:28,810 Sa kasong ito, ito lang ang isang bagay ay nangyayari kapag ang estado ng aming pahina 72 00:03:28,810 --> 00:03:30,160 pagbabago. 73 00:03:30,160 --> 00:03:32,730 Mayroong dalawang iba pang mga ari-arian na uri of-- mga ito ay hindi 74 00:03:32,730 --> 00:03:35,524 ang tanging mga katangian na likas sa XMLHttpRequest, 75 00:03:35,524 --> 00:03:36,940 ngunit sila ay medyo mahalaga sa buhay. 76 00:03:36,940 --> 00:03:39,815 May isang bagay na tinatawag na readyState, na kung saan maaari mong marahil hulaan, 77 00:03:39,815 --> 00:03:41,750 ay may kaugnayan sa onreadystatechange. 78 00:03:41,750 --> 00:03:44,250 Ito ang tunay na nagsasabi sa iyo ano ang readyState ay. 79 00:03:44,250 --> 00:03:46,289 0, 1, 2, 3, at 4 ay ang mga posibilidad doon, 80 00:03:46,289 --> 00:03:48,080 at uri sila ng humigit-kumulang tumutugma sa kung ano ang 81 00:03:48,080 --> 00:03:50,030 Ako ay pakikipag-usap lamang tungkol sa isang segundo ang nakalipas. 82 00:03:50,030 --> 00:03:53,100 >> At pagkatapos status, na sana kung ang lahat na nagpunta OK, 83 00:03:53,100 --> 00:03:56,710 ay 200, na kung saan ay maikli para, siyempre, OK, 84 00:03:56,710 --> 00:03:58,330 na kung saan kami ay pamilyar sa mula sa HTTP. 85 00:03:58,330 --> 00:04:03,735 Kaya kami ay umaasa na ang aming handa estado ay apat, at ang aming katayuan ay 200. 86 00:04:03,735 --> 00:04:07,940 At kung handa na ang aming estado ay apat, at ang mga tugon 87 00:04:07,940 --> 00:04:11,490 ay handa na upang ilagay sa pahina, at ang katayuan ay 200, 88 00:04:11,490 --> 00:04:13,580 nagawa naming gawin ang lahat ng bagay ay matagumpay na, 89 00:04:13,580 --> 00:04:17,209 ngayon ng aming makakaya asynchronously i-update ang aming pahina 90 00:04:17,209 --> 00:04:21,730 nang hindi na kinakailangang i-reload ang buong nilalaman ng mga ito. 91 00:04:21,730 --> 00:04:27,710 >> Pagkatapos na tinukoy namin kung ano ang mangyayari sa pag-uugali onreadystatechange, 92 00:04:27,710 --> 00:04:31,020 at nasuri namin na readyState ay 4 at status ay 200, 93 00:04:31,020 --> 00:04:33,900 at pagkatapos ang lahat ng kailangan naming gawin ay magbukas ng isang asynchronous 94 00:04:33,900 --> 00:04:38,530 kahilingan, na kung saan ay lamang ng paggawa ng isang HTTP pangkalahatan GET kahilingan. 95 00:04:38,530 --> 00:04:41,950 Paggawa ng lamang ito ng programming, sa halip ng sa pamamagitan ng aming web browser. 96 00:04:41,950 --> 00:04:43,786 At pagkatapos ay ipadala namin na kahilingan. 97 00:04:43,786 --> 00:04:45,660 Kaya kung ano ang ginagawa ito baka hitsura sa konteksto? 98 00:04:45,660 --> 00:04:49,790 Kaya narito ang isang function na deal sa AJAX kahilingan. 99 00:04:49,790 --> 00:04:50,290 SIGE? 100 00:04:50,290 --> 00:04:52,430 At nagkataon ko na sinabi ito ay tumatanggap ng isang argumento. 101 00:04:52,430 --> 00:04:55,550 At ito ang isang uri ng isang pangkalahatang balangkas dito. 102 00:04:55,550 --> 00:05:00,890 Sa pinakasimula, makakakuha tayo ang ating mga sarili ng isang bagong XMLHttpRequest object. 103 00:05:00,890 --> 00:05:03,830 Pagkatapos, kailangan ko upang i-set ang onreadystatechange uugali. 104 00:05:03,830 --> 00:05:06,970 At kaya ako pagpunta sa sabihin kapag ang mga pagbabago readyState, 105 00:05:06,970 --> 00:05:10,110 Gusto ko sa iyo na tawagan ang function na ito. 106 00:05:10,110 --> 00:05:12,570 >> Na kung saan ay pagpunta sa hilingin sa mga pinag-uusapan, kung ang readyState 107 00:05:12,570 --> 00:05:17,240 ay 4, kung ang readyState ay nagbago upang maging 4, at ang katayuan ay 200, 108 00:05:17,240 --> 00:05:20,799 kaya nagkaroon kami ng isang matagumpay na kahilingan, ako nais na gawin ang isang bagay sa pahina. 109 00:05:20,799 --> 00:05:22,590 At kami ay kumuha ng isang pagtingin ang isang halimbawa ng kung ano ang 110 00:05:22,590 --> 00:05:25,010 na ang isang bagay ay maaaring maging sa isang segundo. 111 00:05:25,010 --> 00:05:27,830 Kaya nga, ngayon ay may tinukoy na ko aking anonymous na function, 112 00:05:27,830 --> 00:05:31,340 aking tugon function na sa tuwing ang readyState pagbabago. 113 00:05:31,340 --> 00:05:37,120 >> Kaya nga kailangan ko lang upang buksan ang isang humiling, gamit ang paraan Open. 114 00:05:37,120 --> 00:05:39,160 At pagkatapos, ipadala ko na hiling. 115 00:05:39,160 --> 00:05:41,980 At tumagal ng isang pagtingin sa ipaalam ng isang mas tiyak na halimbawa 116 00:05:41,980 --> 00:05:46,290 ng kung ano ang maaaring gawin ng AJAX sa aming web pahina. 117 00:05:46,290 --> 00:05:49,740 Kaya mayroon ako para sa isang napaka-simple pahina na tinatawag home.html. 118 00:05:49,740 --> 00:05:53,620 At Mayroon akong napupunta ang isang impormasyon here at ilang uri drop-down menu ng. 119 00:05:53,620 --> 00:05:55,390 >> At kami ay muling bisitahin ito sa isang segundo. 120 00:05:55,390 --> 00:05:59,150 Ngunit sa tingin ko dapat namin ngayon kumuha ng isang tingnan ang aktwal na source code. 121 00:05:59,150 --> 00:06:01,080 At ito, pupuntahan ko na magbukas ng home.html. 122 00:06:01,080 --> 00:06:03,490 123 00:06:03,490 --> 00:06:04,740 At kami na makita kung ano ang nangyayari sa. 124 00:06:04,740 --> 00:06:08,240 Kaya up sa dito pinakatuktok, mayroon akong ilang mga bagay-bagay JavaScript na ang nangyayari. 125 00:06:08,240 --> 00:06:12,470 >> At dito, ako tila may isang div na ang ID ay infodiv, 126 00:06:12,470 --> 00:06:15,290 at ilang impormasyon ay pagpunta upang pumunta doon. 127 00:06:15,290 --> 00:06:16,374 At pagkatapos ay ako ay may form na ito. 128 00:06:16,374 --> 00:06:18,081 At sa loob ng mga ito form, mayroon akong isang bagay 129 00:06:18,081 --> 00:06:20,200 tinatawag na isang Piliin, na ay lamang ng isang drop-down na menu 130 00:06:20,200 --> 00:06:22,150 may isang bungkos ng iba't ibang mga pagpipilian. 131 00:06:22,150 --> 00:06:26,150 At tila kapag na ang mga pagbabago, kapag ang pagpipilian na ay napili ay may 132 00:06:26,150 --> 00:06:30,600 nagbago, ako pagpunta sa tumawag ilang mga function cs50Info, 133 00:06:30,600 --> 00:06:33,190 at pagkatapos ay ako pagpunta sa pumasa sa this.value, 134 00:06:33,190 --> 00:06:35,740 kung saan ito ay tumutukoy sa kung aling mga opsyon ay napili, 135 00:06:35,740 --> 00:06:39,820 at halaga ay isa sa mga ito dito, option value = katumbas walang laman, "Blumberg," 136 00:06:39,820 --> 00:06:42,610 "bowden," "chan," at "malan." 137 00:06:42,610 --> 00:06:45,090 >> Kaya kung ano ang maaaring aktwal na mangyayari dito kapag gagawin ko ito? 138 00:06:45,090 --> 00:06:48,800 Well, sabihin kumuha ng isang tingnan blumberg.html. 139 00:06:48,800 --> 00:06:51,330 140 00:06:51,330 --> 00:06:53,924 Mukhang ito ay lamang ng isang snippet ng ilang Html. 141 00:06:53,924 --> 00:06:56,090 At sa katunayan, kung ano ang ako umaasa ang mangyayari dito 142 00:06:56,090 --> 00:07:00,020 ay ako pagpunta sa ma-plug ito Html direkta sa aking web page 143 00:07:00,020 --> 00:07:02,970 nang hindi na kinakailangang i-reload pahina, tulad na kapag 144 00:07:02,970 --> 00:07:07,510 Pinili ko ang Hannah mula sa drop-down menu, impormasyon tungkol sa Hannah, 145 00:07:07,510 --> 00:07:11,100 sa partikular, ang impormasyon na ito dito sa blumberg.html, 146 00:07:11,100 --> 00:07:12,574 ay kung ano ang nagpapakita up sa pahina. 147 00:07:12,574 --> 00:07:13,740 At hindi ko kailangang mag-refresh. 148 00:07:13,740 --> 00:07:16,842 At kung pinili ko ang ibang tao, ang kanilang impormasyon ay magpapakita. 149 00:07:16,842 --> 00:07:17,550 Paano ko gawin ito? 150 00:07:17,550 --> 00:07:20,290 Muli, ito ay nangangailangan ng sa amin upang gamitin ang ilang mga AJAX. 151 00:07:20,290 --> 00:07:22,540 At ito, makikita magbukas ajax.js. namin 152 00:07:22,540 --> 00:07:25,550 At dito ay na function, cs50Info. 153 00:07:25,550 --> 00:07:27,410 Kung ang pangalan ay wala, bumalik ako. 154 00:07:27,410 --> 00:07:31,450 Hindi ako pagpunta sa gawin kung ang walang laman na opsyon ay pinili. 155 00:07:31,450 --> 00:07:35,420 Kung hindi, ako pagpunta sa lumikha ng isang bagong XMLHttpRequest. 156 00:07:35,420 --> 00:07:39,020 At pagkatapos ay ako pagpunta sa sabihin, kapag ang readyState pagbabago, tawagan ang function na ito. 157 00:07:39,020 --> 00:07:43,630 >> At kung ang readyState ay 4 at ang katayuan ay 200, 158 00:07:43,630 --> 00:07:45,740 narito ang isang maliit na piraso ng jQuery sa 13 linya. 159 00:07:45,740 --> 00:07:50,450 Ngunit ang lahat ng ako ng paggawa ay nagsasabi, baguhin ang mga nilalaman ng infodiv 160 00:07:50,450 --> 00:07:57,820 na maging kahit anong Nakatanggap ako pabalik bilang tugon mula sa aking HttpRequest. 161 00:07:57,820 --> 00:07:59,590 >> Ano ang aking HttpRequest? 162 00:07:59,590 --> 00:08:02,020 Well, na karapatan dito sa line 18 at 19. 163 00:08:02,020 --> 00:08:08,550 Line 18, talaga Ako naghahanda isang GET kahilingan para sa pangalan + .html. 164 00:08:08,550 --> 00:08:11,170 At muli, pangalan dito ay ang argument na 165 00:08:11,170 --> 00:08:14,280 dumaan sa bilang isang parameter sa cs50Info. 166 00:08:14,280 --> 00:08:18,460 >> Kaya talaga, ako ay pagpasa sa isang tao pangalan, na kung saan ay na hanay ng mga pagpipilian 167 00:08:18,460 --> 00:08:22,980 na nakita natin sa drop-down na menu sa form. 168 00:08:22,980 --> 00:08:24,450 Nakakakuha ako ng pangalang iyon. 169 00:08:24,450 --> 00:08:29,530 At ako sinasabi Gusto ko sa iyo upang mangyaring kumuha para sa akin na file.html, 170 00:08:29,530 --> 00:08:31,020 at pagkatapos ay ipadala na kahilingan. 171 00:08:31,020 --> 00:08:34,820 >> At upang ang onreadystatechange ay pagpunta na nakikinig at naghihintay at naghihintay 172 00:08:34,820 --> 00:08:39,460 at naghihintay, hanggang sa readyState ay 4, at ang katayuan ay 200. 173 00:08:39,460 --> 00:08:44,970 Kaya ito ay handa na upang paglingkuran, at ang kahilingan ay matagumpay. 174 00:08:44,970 --> 00:08:49,500 At pagkatapos ay kung ito ay, ito ay pagpunta sa baguhin ang mga nilalaman ng infodiv 175 00:08:49,500 --> 00:08:53,030 na ang text response na nakuha ko sa likod. 176 00:08:53,030 --> 00:08:54,930 >> Kaya sabihin makita kung paano ito maaaring talagang gumagana. 177 00:08:54,930 --> 00:08:58,860 Kaya makikita namin ulo sa ibabaw sa aking browser window, at kami ay tumingin dito. 178 00:08:58,860 --> 00:09:01,359 Kaya sabihin kumuha ng isang pagtingin sa kung ano ang nangyayari sa dito sa AJAX. 179 00:09:01,359 --> 00:09:03,400 Kaya makikita namin pumili ng isang tao mula sa drop-down menu. 180 00:09:03,400 --> 00:09:06,079 Kaya sa kasong ito, sabihin pumili lamang ng Hannah. 181 00:09:06,079 --> 00:09:08,120 At pansinin na Hannah impormasyon ay nagbago, 182 00:09:08,120 --> 00:09:11,030 ngunit hindi ko alam kung any-- aking page ay hindi ganap na i-reload. 183 00:09:11,030 --> 00:09:12,190 Nanatili stuff Ang. 184 00:09:12,190 --> 00:09:13,320 Karamihan sa mga bagay-bagay nagtutulog. 185 00:09:13,320 --> 00:09:14,320 AJAX Test ay hindi baguhin. 186 00:09:14,320 --> 00:09:16,700 Ang pindutan ng sarili nito, ito drop-down menu ay hindi baguhin. 187 00:09:16,700 --> 00:09:18,260 Ngunit impormasyon doon ginawa ang pagbabago. 188 00:09:18,260 --> 00:09:20,218 At depende sa kung paano mabilis na gumagalaw ang aking computer, 189 00:09:20,218 --> 00:09:24,430 ikaw ay tunay na maaaring makita na ang mga nilalaman mawala at pagkatapos ay muling lumitaw talaga 190 00:09:24,430 --> 00:09:24,930 mabilis. 191 00:09:24,930 --> 00:09:27,320 Iyan ang nilalaman sa pagiging tinanggal mula infodiv, 192 00:09:27,320 --> 00:09:29,940 at pagkatapos ay pinalitan ng isang bagong asynchronous kahilingan. 193 00:09:29,940 --> 00:09:34,410 >> Kaya kung ililipat ang mga ito upang maging sabihin, Rob-- at muli, tingnan, 194 00:09:34,410 --> 00:09:38,379 at marahil kami makita sa aktwal na ito mawala at lumitaw na muli mabilis. 195 00:09:38,379 --> 00:09:38,920 Ang makikita mo na? 196 00:09:38,920 --> 00:09:41,400 Paano lang pop ito sa malayo, at pagkatapos ay refilled ito? 197 00:09:41,400 --> 00:09:43,640 Iyan ang AJAX kahilingan uri ng nagaganap. 198 00:09:43,640 --> 00:09:46,060 At kaya depende sa taong pinili ko, hindi ako 199 00:09:46,060 --> 00:09:50,690 paggawa ng isang iba't ibang mga asynchronous kahilingan sa isang iba't ibang mga file 200 00:09:50,690 --> 00:09:52,730 na mayroon akong sa aking server. 201 00:09:52,730 --> 00:09:55,550 At ang mga nilalaman ng aking infodiv ay pag-update, 202 00:09:55,550 --> 00:09:58,457 batay sa kung alin sa mga pinili ko. 203 00:09:58,457 --> 00:10:00,040 Kaya na talagang lahat ng may sa AJAX. 204 00:10:00,040 --> 00:10:04,090 Ito ay nagpapahintulot sa amin upang gumawa ng mga asynchronous kahilingan, ang mga update sa isang pahina. 205 00:10:04,090 --> 00:10:06,450 Nang hindi na i-refresh ang buong pahina, 206 00:10:06,450 --> 00:10:08,520 kami ay pagpunta upang makakuha ng bagong nilalaman mula sa mga ito sa pamamagitan ng paggawa 207 00:10:08,520 --> 00:10:11,170 isang bagong sariwang kahilingan sa server. 208 00:10:11,170 --> 00:10:13,420 At ito, ang aming mga pahina ay maaaring maging tila mas dynamic. 209 00:10:13,420 --> 00:10:15,128 >> At bilang namin makakuha ng mas maraming at mas advance na, ikaw 210 00:10:15,128 --> 00:10:17,700 Maaaring makakuha ng mga bagay tulad ng halimbawa, ang iyong email inbox, 211 00:10:17,700 --> 00:10:19,850 na kung saan hindi mo na kailangang gumawa ng kahit ano. 212 00:10:19,850 --> 00:10:22,560 Hindi mo na kailangang i-click ng isang drop-down menu o i-click ang anumang bagay, 213 00:10:22,560 --> 00:10:25,920 at ang lahat ng isang biglaang, ang iyong pinakabagong nagpapakita up email sa tuktok. 214 00:10:25,920 --> 00:10:27,840 Iyon din lamang ng isang kahilingan Ajax. 215 00:10:27,840 --> 00:10:30,460 Ajax ay humihiling ng iyong server, ang mga email server, 216 00:10:30,460 --> 00:10:33,360 upang magpadala ng higit sa lahat ng mga impormasyon tungkol sa iyong pinakabagong mga email, 217 00:10:33,360 --> 00:10:38,110 at pagbabago sa kung ano ang nakikita mo sa screen na ang iyong pinakabagong hanay ng mga emails. 218 00:10:38,110 --> 00:10:41,080 At kung mayroon kang isang bagong isa sa doon, at pagkatapos ay ang mga nilalaman ng na div 219 00:10:41,080 --> 00:10:44,580 ay magbabago upang sumalamin ang na-update na nilalaman. 220 00:10:44,580 --> 00:10:45,480 Ako Doug Lloyd. 221 00:10:45,480 --> 00:10:47,500 Ito ay CS50. 222 00:10:47,500 --> 00:10:49,229