1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:04,810 [Bermain muzik] 3 00:00:04,810 --> 00:00:06,940 >> DOUG LLOYD: Jadi satu lagi semacam tanggapan bahawa 4 00:00:06,940 --> 00:00:12,120 semacam berada di bawah naungan JavaScript adalah sesuatu yang dinamakan AJAX. 5 00:00:12,120 --> 00:00:15,310 Sehingga ketika ini, kami interaksi dengan JavaScript 6 00:00:15,310 --> 00:00:17,727 telah dihadkan untuk menolak butang dan sesuatu berlaku. 7 00:00:17,727 --> 00:00:19,560 Dan secara khusus, sesuatu yang berlaku 8 00:00:19,560 --> 00:00:22,950 adalah laman web kami melihat dan merasa perubahan. 9 00:00:22,950 --> 00:00:23,450 Betul? 10 00:00:23,450 --> 00:00:26,540 Seperti khususnya, dalam Document Object Model video, 11 00:00:26,540 --> 00:00:29,060 Saya menukar warna latar belakang. 12 00:00:29,060 --> 00:00:33,240 Tetapi apabila saya berbuat demikian, saya tidak mempunyai melakukan apa-apa permintaan yang lebih istimewa. 13 00:00:33,240 --> 00:00:36,800 Saya tidak perlu meminta pelayan menghantar saya surat yang baru. 14 00:00:36,800 --> 00:00:39,620 Saya hanya berubah apa yang saya telah ada. 15 00:00:39,620 --> 00:00:42,245 Saya tidak perlu memuat semula halaman saya, dan perkara-perkara pasti berubah, 16 00:00:42,245 --> 00:00:43,760 jadi yang hebat. 17 00:00:43,760 --> 00:00:48,400 Tetapi ada pasti beberapa interaksi pengguna manual terlibat. 18 00:00:48,400 --> 00:00:53,140 AJAX adalah teknik sejuk yang membolehkan kami untuk mengemaskini kandungan halaman, 19 00:00:53,140 --> 00:00:55,750 dan bukan hanya rupa dan rasa, tanpa tambah nilai. 20 00:00:55,750 --> 00:00:58,610 >> Dan dengan secara khusus apabila saya mengatakan mengemaskini kandungan halaman, 21 00:00:58,610 --> 00:01:01,990 Saya tidak mengatakan kita menulis semula halaman menggunakan JavaScript. 22 00:01:01,990 --> 00:01:06,560 Saya katakan kita sebenarnya meminta maklumat lanjut dari pelayan 23 00:01:06,560 --> 00:01:08,640 tanpa halaman kami perlu memuat semula. 24 00:01:08,640 --> 00:01:10,850 >> Sekarang semacam sedikit teknik yang lebih maju 25 00:01:10,850 --> 00:01:11,950 yang kita akan bercakap kira-kira dalam video ini. 26 00:01:11,950 --> 00:01:13,720 Kita akan mempunyai beberapa interaksi. 27 00:01:13,720 --> 00:01:17,750 Tetapi apabila kita lakukan, saya akan menjadi membuat permintaan kepada pelayan web. 28 00:01:17,750 --> 00:01:21,140 Dalam kes ini, hanya apa yang menjalankan pelayan web Apache saya. 29 00:01:21,140 --> 00:01:25,010 Saya akan dapat membuat tambahan permintaan semasa saya melawat sebuah laman web, 30 00:01:25,010 --> 00:01:26,890 tetapi halaman saya tidak akan menyegarkan. 31 00:01:26,890 --> 00:01:30,000 >> Ia hanya akan asynchronously mengemas kini halaman saya. 32 00:01:30,000 --> 00:01:31,840 Dan itu, sebenarnya, AJAX yang bermaksud, 33 00:01:31,840 --> 00:01:35,400 adalah Asynchronous JavaScript dan XML. 34 00:01:35,400 --> 00:01:37,910 XML satu lagi jenis markup bahasa, dan anda boleh menyusun daripada 35 00:01:37,910 --> 00:01:39,680 memikirkan ia sama seperti HTML. 36 00:01:39,680 --> 00:01:42,990 Ia tidak cukup perkara yang sama, tetapi ia pada dasarnya hanya bahasa markup. 37 00:01:42,990 --> 00:01:47,770 Jadi ia tak segerak yang JavaScript dan bahasa markup. 38 00:01:47,770 --> 00:01:50,590 >> Jadi, untuk menggunakan ini AJAX technique-- AJAX 39 00:01:50,590 --> 00:01:52,230 bukan bahasa pengaturcaraan yang berasingan. 40 00:01:52,230 --> 00:01:55,300 Ia hanya semacam set kita techniques-- 41 00:01:55,300 --> 00:01:57,870 perlu membuat khas JavaScript objek, yang 42 00:01:57,870 --> 00:02:00,689 dipanggil XMLHttpRequest yang. 43 00:02:00,689 --> 00:02:01,980 Sekarang, ia sangat mudah untuk melakukan ini. 44 00:02:01,980 --> 00:02:04,550 Kami hanya mengatakan var, apa sahaja kita mahu untuk memanggil objek ini, 45 00:02:04,550 --> 00:02:07,030 sama XMLHttpRequest baru. 46 00:02:07,030 --> 00:02:11,050 Dan sekarang kita sekarang kalian menerima satu jenis AJAX objek, 47 00:02:11,050 --> 00:02:14,370 atau XMLHttpRequest yang objek, yang akan membolehkan 48 00:02:14,370 --> 00:02:18,360 kita asynchronously mengemas kini halaman kami. 49 00:02:18,360 --> 00:02:23,100 >> Selepas kita telah mendapat ini baru objek, XMLHttpRequest ini, 50 00:02:23,100 --> 00:02:27,760 kita perlu melakukan sesuatu untuk mereka tingkah laku onreadystatechange. 51 00:02:27,760 --> 00:02:30,360 Onreadystatechange tingkah laku adalah benar-benar hanya 52 00:02:30,360 --> 00:02:34,080 apabila anda membuat permintaan ke laman web, halaman 53 00:02:34,080 --> 00:02:35,880 akan melalui beberapa langkah. 54 00:02:35,880 --> 00:02:37,370 Pertama, permintaan yang belum dihantar. 55 00:02:37,370 --> 00:02:39,860 Kemudian, permintaan itu telah dihantar, tetapi tidak diambil tindakan. 56 00:02:39,860 --> 00:02:41,580 Maka permintaan itu telah diambil tindakan. 57 00:02:41,580 --> 00:02:43,680 Maka permintaan itu dihantar kembali kepada anda. 58 00:02:43,680 --> 00:02:46,930 >> Kemudian, permintaan itu dimuatkan sepenuhnya dalam halaman anda. 59 00:02:46,930 --> 00:02:48,640 Mereka adalah negeri-negeri yang berbeza. 60 00:02:48,640 --> 00:02:53,890 Dan dengan itu kita perlu menetapkan kami objek XMLHttpRequest baru 61 00:02:53,890 --> 00:02:58,740 berubah apabila perubahan keadaan bersedia. 62 00:02:58,740 --> 00:03:01,925 Dan biasanya, kita melakukan ini dengan mentakrifkan fungsi tanpa nama, yang 63 00:03:01,925 --> 00:03:04,490 kami biasa dengan dari JavaScript sekarang, yang 64 00:03:04,490 --> 00:03:09,840 dipanggil apabila perubahan keadaan bersedia. 65 00:03:09,840 --> 00:03:11,340 Ia benar-benar tidak lebih daripada itu. 66 00:03:11,340 --> 00:03:14,340 Kami hanya akan mentakrifkan fungsi tanpa nama, jenis suka apa 67 00:03:14,340 --> 00:03:16,440 yang kami lakukan dalam JavaScript, di mana kita akan 68 00:03:16,440 --> 00:03:18,750 mempunyai fungsi tanpa nama bertindak balas terhadap di klik, 69 00:03:18,750 --> 00:03:23,230 atau apabila kita telah melakukan Peta pelbagai objek dalam array. 70 00:03:23,230 --> 00:03:25,220 >> Sesuatu yang berlaku apabila sesuatu yang diklik. 71 00:03:25,220 --> 00:03:28,810 Dalam kes ini, ia hanya sesuatu yang berlaku apabila keadaan halaman kami 72 00:03:28,810 --> 00:03:30,160 perubahan. 73 00:03:30,160 --> 00:03:32,730 Terdapat dua ciri-ciri lain yang jenis daripada- mereka tidak 74 00:03:32,730 --> 00:03:35,524 satu-satunya harta yang wujud untuk XMLHttpRequest, 75 00:03:35,524 --> 00:03:36,940 tetapi mereka yang cukup penting. 76 00:03:36,940 --> 00:03:39,815 Ada sesuatu yang dinamakan readyState, yang seperti yang anda mungkin boleh meneka, 77 00:03:39,815 --> 00:03:41,750 adalah berkaitan dengan onreadystatechange. 78 00:03:41,750 --> 00:03:44,250 Ia sebenarnya memberitahu anda apa readyState itu. 79 00:03:44,250 --> 00:03:46,289 0, 1, 2, 3, dan 4 adalah kemungkinan di sana, 80 00:03:46,289 --> 00:03:48,080 dan mereka bentuk secara kasar sesuai dengan apa yang 81 00:03:48,080 --> 00:03:50,030 Saya hanya bercakap mengenai kedua yang lalu. 82 00:03:50,030 --> 00:03:53,100 >> Dan kemudian status, yang mudah-mudahan jika semuanya berjalan OK, 83 00:03:53,100 --> 00:03:56,710 adalah 200, yang singkat untuk, sudah tentu, OK, 84 00:03:56,710 --> 00:03:58,330 yang kita sudah biasa dengan dari Http. 85 00:03:58,330 --> 00:04:03,735 Oleh itu, kita berharap bahawa kerajaan bersedia kami adalah empat, dan status kami adalah 200. 86 00:04:03,735 --> 00:04:07,940 Dan jika negeri bersedia kami adalah empat, dan tindak balas 87 00:04:07,940 --> 00:04:11,490 sedia untuk diletakkan di atas halaman, dan status adalah 200, 88 00:04:11,490 --> 00:04:13,580 kami dapat melakukan segala-galanya dengan jayanya, 89 00:04:13,580 --> 00:04:17,209 sekarang kita boleh asynchronously mengemas kini halaman kami 90 00:04:17,209 --> 00:04:21,730 tanpa perlu memuat semula kandungan keseluruhan daripadanya. 91 00:04:21,730 --> 00:04:27,710 >> Selepas kita telah jelas apa yang berlaku kepada tingkah laku onreadystatechange itu, 92 00:04:27,710 --> 00:04:31,020 dan kami telah diperiksa bahawa readyState adalah 4 dan status adalah 200, 93 00:04:31,020 --> 00:04:33,900 maka semua yang perlu kita lakukan ialah membuka tak segerak yang 94 00:04:33,900 --> 00:04:38,530 permintaan, yang hanya membuat yang Http umumnya DAPATKAN permintaan. 95 00:04:38,530 --> 00:04:41,950 Hanya melakukannya secara program, bukannya melalui pelayar web. 96 00:04:41,950 --> 00:04:43,786 Dan kemudian kita menghantar permintaan itu. 97 00:04:43,786 --> 00:04:45,660 Jadi apakah ini mungkin kelihatan seperti dalam konteks? 98 00:04:45,660 --> 00:04:49,790 Jadi di sini adalah fungsi yang memperkatakan permintaan AJAX. 99 00:04:49,790 --> 00:04:50,290 OKAY? 100 00:04:50,290 --> 00:04:52,430 Dan saya telah sewenang-wenangnya berkata ia menerima hujah. 101 00:04:52,430 --> 00:04:55,550 Dan ini satu bentuk yang rangka umum di sini. 102 00:04:55,550 --> 00:05:00,890 Pada awal-awal lagi, kita akan mendapat diri kita objek XMLHttpRequest baru. 103 00:05:00,890 --> 00:05:03,830 Kemudian, saya perlu menetapkan tingkah laku onreadystatechange. 104 00:05:03,830 --> 00:05:06,970 Dan jadi saya akan berkata apabila perubahan readyState, 105 00:05:06,970 --> 00:05:10,110 Saya mahu anda untuk memanggil fungsi ini. 106 00:05:10,110 --> 00:05:12,570 >> Yang akan meminta soalan, jika readyState 107 00:05:12,570 --> 00:05:17,240 ialah 4, jika readyState telah berubah menjadi 4, dan status adalah 200, 108 00:05:17,240 --> 00:05:20,799 jadi kami mempunyai permintaan yang berjaya, saya mahu melakukan sesuatu kepada halaman. 109 00:05:20,799 --> 00:05:22,590 Dan kita akan melihat dengan di satu contoh apa yang 110 00:05:22,590 --> 00:05:25,010 sesuatu yang mungkin dalam satu saat. 111 00:05:25,010 --> 00:05:27,830 Sebab itu, aku telah ditakrifkan fungsi tanpa nama saya, 112 00:05:27,830 --> 00:05:31,340 fungsi jawapan saya bila-bila masa perubahan readyState. 113 00:05:31,340 --> 00:05:37,120 >> Sebab itu saya hanya perlu membuka meminta, menggunakan kaedah Buka. 114 00:05:37,120 --> 00:05:39,160 Dan kemudian, saya menghantar permintaan itu. 115 00:05:39,160 --> 00:05:41,980 Dan mari kita lihat pada contoh yang lebih konkrit 116 00:05:41,980 --> 00:05:46,290 apa AJAX boleh lakukan pada laman web kami. 117 00:05:46,290 --> 00:05:49,740 Oleh itu, saya ada di sini yang sangat mudah Laman dipanggil home.html. 118 00:05:49,740 --> 00:05:53,620 Dan saya telah mendapat maklumat yang pergi di sini dan beberapa jenis menu drop-down. 119 00:05:53,620 --> 00:05:55,390 >> Dan kita akan melihat semula ini dalam satu saat. 120 00:05:55,390 --> 00:05:59,150 Tetapi saya fikir kita seharusnya mengambil melihat kod sumber yang sebenar. 121 00:05:59,150 --> 00:06:01,080 Dan sebagainya, saya akan membuka home.html. 122 00:06:01,080 --> 00:06:03,490 123 00:06:03,490 --> 00:06:04,740 Dan kita akan melihat apa yang sedang berlaku. 124 00:06:04,740 --> 00:06:08,240 Jadi sehingga di bahagian paling atas di sini, saya mempunyai beberapa JavaScript barangan itu yang sedang berlaku. 125 00:06:08,240 --> 00:06:12,470 >> Dan di sini, saya nampaknya mempunyai div yang ID adalah infodiv, 126 00:06:12,470 --> 00:06:15,290 dan beberapa maklumat akan pergi ke sana. 127 00:06:15,290 --> 00:06:16,374 Dan kemudian saya mempunyai borang ini. 128 00:06:16,374 --> 00:06:18,081 Dan di dalam ini bentuk, ada yang 129 00:06:18,081 --> 00:06:20,200 dipanggil Pilih, yang hanya menu drop-down 130 00:06:20,200 --> 00:06:22,150 dengan sekumpulan pilihan yang berbeza. 131 00:06:22,150 --> 00:06:26,150 Dan nampaknya apabila yang berubah, apabila pilihan yang telah dipilih mempunyai 132 00:06:26,150 --> 00:06:30,600 berubah, saya akan memanggil fungsi beberapa cs50Info, 133 00:06:30,600 --> 00:06:33,190 dan kemudian saya akan lulus dalam this.value, 134 00:06:33,190 --> 00:06:35,740 di mana ini merujuk kepada opsyen telah dipilih, 135 00:06:35,740 --> 00:06:39,820 dan nilai adalah salah satu ini di sini, pilihan value = sama dengan kosong, "Blumberg," 136 00:06:39,820 --> 00:06:42,610 "bowden," "chan," dan "Malan." 137 00:06:42,610 --> 00:06:45,090 >> Jadi apa yang mungkin sebenarnya berlaku di sini apabila saya melakukan ini? 138 00:06:45,090 --> 00:06:48,800 Nah, mari kita melihat blumberg.html. 139 00:06:48,800 --> 00:06:51,330 140 00:06:51,330 --> 00:06:53,924 Nampaknya ia hanya coretan beberapa Html. 141 00:06:53,924 --> 00:06:56,090 Dan sebenarnya, apa yang saya berharap yang akan berlaku di sini 142 00:06:56,090 --> 00:07:00,020 yang saya akan dapat plug Html ini terus ke dalam laman web saya 143 00:07:00,020 --> 00:07:02,970 tanpa perlu memuat semula halaman, bahawa apabila 144 00:07:02,970 --> 00:07:07,510 Saya memilih Hannah dari drop-down menu, maklumat tentang Hannah, 145 00:07:07,510 --> 00:07:11,100 khususnya, maklumat ini di sini di blumberg.html, 146 00:07:11,100 --> 00:07:12,574 adalah apa yang muncul pada halaman. 147 00:07:12,574 --> 00:07:13,740 Dan saya tidak perlu memuat semula. 148 00:07:13,740 --> 00:07:16,842 Dan jika saya memilih orang lain, maklumat mereka akan muncul. 149 00:07:16,842 --> 00:07:17,550 Bagaimana saya boleh melakukan ini? 150 00:07:17,550 --> 00:07:20,290 Sekali lagi, ini memerlukan kami menggunakan beberapa AJAX. 151 00:07:20,290 --> 00:07:22,540 Dan sebagainya, kami akan membuka ajax.js. 152 00:07:22,540 --> 00:07:25,550 Dan di sini adalah fungsi itu, cs50Info. 153 00:07:25,550 --> 00:07:27,410 Jika nama apa-apa, saya kembali. 154 00:07:27,410 --> 00:07:31,450 Saya tidak akan berbuat apa-apa jika pilihan yang kosong telah dipilih. 155 00:07:31,450 --> 00:07:35,420 Jika tidak, saya akan membuat XMLHttpRequest baru. 156 00:07:35,420 --> 00:07:39,020 Dan kemudian saya akan berkata, apabila perubahan readyState, panggilan fungsi ini. 157 00:07:39,020 --> 00:07:43,630 >> Dan jika readyState adalah 4 dan status adalah 200, 158 00:07:43,630 --> 00:07:45,740 di sini adalah sedikit jQuery pada baris 13. 159 00:07:45,740 --> 00:07:50,450 Tetapi semua yang saya lakukan mengatakan, menukar kandungan infodiv 160 00:07:50,450 --> 00:07:57,820 untuk menjadi apa sahaja saya kembali sebagai jawapan dari HttpRequest saya. 161 00:07:57,820 --> 00:07:59,590 >> Apakah HttpRequest saya? 162 00:07:59,590 --> 00:08:02,020 Well, betul di sini pada baris 18 dan 19. 163 00:08:02,020 --> 00:08:08,550 Line 18, saya pada dasarnya menyediakan GET permintaan untuk nama + .html. 164 00:08:08,550 --> 00:08:11,170 Dan sekali lagi, nama di sini adalah hujah bahawa adalah 165 00:08:11,170 --> 00:08:14,280 diluluskan pada sebagai parameter kepada cs50Info. 166 00:08:14,280 --> 00:08:18,460 >> Jadi, pada asasnya, saya lulus dalam seseorang itu nama, dengan menyatakan bahawa set pilihan 167 00:08:18,460 --> 00:08:22,980 yang kita lihat dalam menu juntai bawah dalam bentuk. 168 00:08:22,980 --> 00:08:24,450 Saya mendapat nama itu. 169 00:08:24,450 --> 00:08:29,530 Dan saya berkata saya mahu anda untuk sila dapatkan untuk saya file.html itu, 170 00:08:29,530 --> 00:08:31,020 dan kemudian menghantar permintaan itu. 171 00:08:31,020 --> 00:08:34,820 >> Dan sebagainya onreadystatechange yang akan menjadi mendengar dan menunggu dan menunggu 172 00:08:34,820 --> 00:08:39,460 dan menunggu, sehingga readyState adalah 4, dan status adalah 200. 173 00:08:39,460 --> 00:08:44,970 Jadi ia sedia untuk dihidangkan, dan permintaan itu telah berjaya. 174 00:08:44,970 --> 00:08:49,500 Dan kemudian jika ia adalah, ia akan menukar kandungan infodiv 175 00:08:49,500 --> 00:08:53,030 sebagai teks jawapan yang saya pulang. 176 00:08:53,030 --> 00:08:54,930 >> Jadi mari kita lihat bagaimana ini sebenarnya mungkin bekerja. 177 00:08:54,930 --> 00:08:58,860 Oleh itu, kita akan menuju ke pelayar saya tingkap, dan kita akan melihat di sini. 178 00:08:58,860 --> 00:09:01,359 Oleh itu, mari kita lihat pada apa yang sedang berlaku di sini di AJAX. 179 00:09:01,359 --> 00:09:03,400 Oleh itu, kita akan memilih seseorang dari menu drop-down. 180 00:09:03,400 --> 00:09:06,079 Jadi dalam kes ini, mari kita hanya memilih Hannah. 181 00:09:06,079 --> 00:09:08,120 Dan notis itu Hannah maklumat telah berubah, 182 00:09:08,120 --> 00:09:11,030 tetapi saya tidak mempunyai any-- saya halaman tidak sepenuhnya menambah nilai. 183 00:09:11,030 --> 00:09:12,190 Bahan yang tinggal. 184 00:09:12,190 --> 00:09:13,320 Kebanyakan barangan yang tinggal. 185 00:09:13,320 --> 00:09:14,320 AJAX Ujian tidak berubah. 186 00:09:14,320 --> 00:09:16,700 Butang itu sendiri, ini drop-down menu tidak berubah. 187 00:09:16,700 --> 00:09:18,260 Tetapi ada melakukan perubahan. 188 00:09:18,260 --> 00:09:20,218 Dan bergantung kepada bagaimana cepat bergerak komputer saya, 189 00:09:20,218 --> 00:09:24,430 anda sebenarnya mungkin melihat bahawa kandungan hilang dan kemudian muncul semula benar-benar 190 00:09:24,430 --> 00:09:24,930 dengan cepat. 191 00:09:24,930 --> 00:09:27,320 Itulah kandungan yang sedang dipadamkan daripada infodiv, 192 00:09:27,320 --> 00:09:29,940 dan kemudian digantikan dengan permintaan tak segerak baru. 193 00:09:29,940 --> 00:09:34,410 >> Jadi, jika saya hidupkan ia akan berkata, Rob-- dan sekali lagi, kita lihat, 194 00:09:34,410 --> 00:09:38,379 dan mungkin kita akan melihat ia sebenarnya hilang dan muncul semula dengan cepat. 195 00:09:38,379 --> 00:09:38,920 Anda melihat bahawa? 196 00:09:38,920 --> 00:09:41,400 Bagaimana ia hanya muncul dari sini, dan kemudian ia diisi semula? 197 00:09:41,400 --> 00:09:43,640 Itulah permintaan AJAX semacam berlaku. 198 00:09:43,640 --> 00:09:46,060 Dan sebagainya bergantung kepada orang yang saya pilih, saya 199 00:09:46,060 --> 00:09:50,690 membuat tak segerak yang berbeza permintaan untuk fail yang berbeza 200 00:09:50,690 --> 00:09:52,730 yang saya ada pada pelayan saya. 201 00:09:52,730 --> 00:09:55,550 Dan kandungan saya infodiv sedang mengemas kini, 202 00:09:55,550 --> 00:09:58,457 berdasarkan yang ini saya telah memilih. 203 00:09:58,457 --> 00:10:00,040 Jadi, itu benar-benar semua ada untuk AJAX. 204 00:10:00,040 --> 00:10:04,090 Ia membolehkan kita untuk membuat tak segerak ini pertanyaan, kemaskini kepada halaman. 205 00:10:04,090 --> 00:10:06,450 Tanpa perlu menyegarkan seluruh halaman, 206 00:10:06,450 --> 00:10:08,520 kita akan mendapatkan yang baru kandungan daripadanya dengan membuat 207 00:10:08,520 --> 00:10:11,170 permintaan yang baru kepada pelayan. 208 00:10:11,170 --> 00:10:13,420 Dan sebagainya, halaman kami boleh menjadi agak sedikit lebih dinamik. 209 00:10:13,420 --> 00:10:15,128 >> Dan seperti yang kita mendapatkan lebih banyak dan lebih maju, anda 210 00:10:15,128 --> 00:10:17,700 mungkin akan mendapat perkara-perkara seperti katakan, peti masuk e-mel, 211 00:10:17,700 --> 00:10:19,850 di mana anda tidak perlu melakukan apa-apa. 212 00:10:19,850 --> 00:10:22,560 Anda tidak perlu klik menu juntai bawah atau klik apa-apa, 213 00:10:22,560 --> 00:10:25,920 dan tiba-tiba, terbaru anda e-mel muncul di bahagian atas. 214 00:10:25,920 --> 00:10:27,840 Itu juga hanya satu permintaan Ajax. 215 00:10:27,840 --> 00:10:30,460 Ajax meminta anda pelayan, pelayan e-mel, 216 00:10:30,460 --> 00:10:33,360 menghantar ke atas semua maklumat yang mengenai e-mel terbaru anda, 217 00:10:33,360 --> 00:10:38,110 dan mengubah apa yang anda lihat di skrin untuk menjadi set terbaru anda e-mel. 218 00:10:38,110 --> 00:10:41,080 Dan jika anda mempunyai yang baru dalam di sana, maka kandungan div yang 219 00:10:41,080 --> 00:10:44,580 akan berubah sesuai kandungan dikemaskini. 220 00:10:44,580 --> 00:10:45,480 Saya Doug Lloyd. 221 00:10:45,480 --> 00:10:47,500 Ini adalah CS50. 222 00:10:47,500 --> 00:10:49,229