1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:04,810 [მუსიკის დაკვრა] 3 00:00:04,810 --> 00:00:06,940 >> DOUG LLOYD: ასე რომ, კიდევ ერთი ერთგვარი მოსაზრება, რომ 4 00:00:06,940 --> 00:00:12,120 ერთგვარი მოდის ქოლგის ქვეშ JavaScript რაღაც მოუწოდა AJAX. 5 00:00:12,120 --> 00:00:15,310 მანამდე ამ ეტაპზე, ჩვენი ურთიერთქმედება JavaScript 6 00:00:15,310 --> 00:00:17,727 უკვე შემოიფარგლება დააყენებს ღილაკს და რამე მოხდება. 7 00:00:17,727 --> 00:00:19,560 კერძოდ, ის, რაც ხდება 8 00:00:19,560 --> 00:00:22,950 ჩვენი ვებ გამოიყურება და გრძნობს ცვლილებები. 9 00:00:22,950 --> 00:00:23,450 მარჯვენა? 10 00:00:23,450 --> 00:00:26,540 ისევე, როგორც კერძოდ, დოკუმენტი ობიექტის მოდელი ვიდეო, 11 00:00:26,540 --> 00:00:29,060 მე შეიცვალა ფონის ფერი. 12 00:00:29,060 --> 00:00:33,240 მაგრამ, როდესაც მე, რომ მე არ მაქვს რაიმე სპეციალური დამატებითი მოთხოვნები. 13 00:00:33,240 --> 00:00:36,800 მე არ უნდა მოითხოვოს, რომ სერვერზე გამომიგზავნოთ ახალი გვერდი. 14 00:00:36,800 --> 00:00:39,620 უბრალოდ შეიცვალა, რაც მე უკვე ჰქონდა. 15 00:00:39,620 --> 00:00:42,245 მე არ გაქვთ განაახლეთ ჩემი გვერდი, და რამ ნამდვილად შეიცვალა, 16 00:00:42,245 --> 00:00:43,760 ასე რომ დიდი. 17 00:00:43,760 --> 00:00:48,400 მაგრამ იქ აუცილებლად რაღაც სახელმძღვანელო მომხმარებლის ურთიერთქმედების ჩართული. 18 00:00:48,400 --> 00:00:53,140 AJAX არის მაგარი ტექნიკა, რომელიც საშუალებას ჩვენს განაახლოთ გვერდი შინაარსი, 19 00:00:53,140 --> 00:00:55,750 და არა მხოლოდ სახეს და ვგრძნობ, განახლების გარეშე. 20 00:00:55,750 --> 00:00:58,610 >> და განსაკუთრებით მაშინ, როდესაც მე ამბობენ განახლებაზე გვერდზე შინაარსი, 21 00:00:58,610 --> 00:01:01,990 მე არ ვამბობ, ჩვენ გადაწერას გვერდზე გამოყენებით JavaScript. 22 00:01:01,990 --> 00:01:06,560 მე ვამბობ, რომ ჩვენ რეალურად მოითხოვოს მეტი ინფორმაცია სერვერზე 23 00:01:06,560 --> 00:01:08,640 გარეშე ჩვენი გვერდი მქონე განაახლეთ. 24 00:01:08,640 --> 00:01:10,850 >> ახლა, რომ ერთგვარი ცოტა მოწინავე ტექნიკა 25 00:01:10,850 --> 00:01:11,950 ჩვენ ვაპირებთ, რომ გაიგო შესახებ ამ ვიდეო. 26 00:01:11,950 --> 00:01:13,720 ჩვენ ვაპირებთ, რომ გარკვეული ურთიერთქმედების. 27 00:01:13,720 --> 00:01:17,750 მაგრამ, როდესაც ჩვენ გავაკეთებთ, მე ვაპირებ, რომ მიღების ითხოვს სერვერზე. 28 00:01:17,750 --> 00:01:21,140 ამ შემთხვევაში, უბრალოდ რა არის გაშვებული Apache სერვერზე. 29 00:01:21,140 --> 00:01:25,010 მე ვაპირებ მიღების დამატებით მოითხოვს, ხოლო მე გამოჩენის ვებ გვერდზე, 30 00:01:25,010 --> 00:01:26,890 მაგრამ ჩემი გვერდი არ ამოცნობა. 31 00:01:26,890 --> 00:01:30,000 >> ეს უბრალოდ აპირებს asynchronously განაახლოს ჩემი გვერდი. 32 00:01:30,000 --> 00:01:31,840 და ეს არის, ფაქტობრივად, რომელიც AJAX დგას, 33 00:01:31,840 --> 00:01:35,400 არის ასინქრონული JavaScript და XML. 34 00:01:35,400 --> 00:01:37,910 XML სხვა სახის markup ენის, და თქვენ შეგიძლიათ დაალაგოთ 35 00:01:37,910 --> 00:01:39,680 ვფიქრობ, რომ ეს, ისევე, როგორც HTML. 36 00:01:39,680 --> 00:01:42,990 ეს არ არის საკმაოდ იგივე, მაგრამ ეს, ძირითადად, მხოლოდ ენა. 37 00:01:42,990 --> 00:01:47,770 ასე რომ, ეს არის ასინქრონული JavaScript და ენა. 38 00:01:47,770 --> 00:01:50,590 >> ასე რომ, რათა გამოიყენონ ეს AJAX ხერხი AJAX 39 00:01:50,590 --> 00:01:52,230 არ არის ცალკე პროგრამირების ენაზე. 40 00:01:52,230 --> 00:01:55,300 ეს მხოლოდ ერთგვარი კომპლექტი techniques-- ჩვენ 41 00:01:55,300 --> 00:01:57,870 უნდა შეიქმნას სპეციალური JavaScript ობიექტი, რომელიც 42 00:01:57,870 --> 00:02:00,689 ეწოდება XMLHttpRequest. 43 00:02:00,689 --> 00:02:01,980 ახლა, ეს ძალიან ადვილია ამის გაკეთება. 44 00:02:01,980 --> 00:02:04,550 ჩვენ უბრალოდ, ვამბობთ var, რაც ჩვენ გვინდა, რომ ეს ობიექტი, 45 00:02:04,550 --> 00:02:07,030 უდრის new XMLHttpRequest. 46 00:02:07,030 --> 00:02:11,050 და ახლა ჩვენ უკვე გაქვთ მიღებული აიაქსი სახის ობიექტი, 47 00:02:11,050 --> 00:02:14,370 ან XMLHttpRequest ობიექტი, რომელიც საშუალებას 48 00:02:14,370 --> 00:02:18,360 გვაძლევს asynchronously განაახლოს ჩვენი გვერდი. 49 00:02:18,360 --> 00:02:23,100 >> მას შემდეგ, რაც ჩვენ მიღებული ამ ახალი ობიექტი, ამ XMLHttpRequest, 50 00:02:23,100 --> 00:02:27,760 ჩვენ უნდა გავაკეთოთ რაღაც, რომ მისი onreadystatechange ქცევა. 51 00:02:27,760 --> 00:02:30,360 Onreadystatechange ქცევა მართლაც მხოლოდ 52 00:02:30,360 --> 00:02:34,080 როდესაც თქვენ მიიღოს თხოვნა ვებ გვერდი, გვერდი 53 00:02:34,080 --> 00:02:35,880 გადის მთელი რიგი ნაბიჯები. 54 00:02:35,880 --> 00:02:37,370 პირველი, თხოვნით არ გაიგზავნა. 55 00:02:37,370 --> 00:02:39,860 ამის შემდეგ, თხოვნით უკვე გაგზავნილი, მაგრამ არა რეაგირება. 56 00:02:39,860 --> 00:02:41,580 მაშინ მოთხოვნა უკვე რეაგირება. 57 00:02:41,580 --> 00:02:43,680 მაშინ მოთხოვნა მიმდინარეობს დააბრუნეს თქვენ. 58 00:02:43,680 --> 00:02:46,930 >> ამის შემდეგ, მოთხოვნა სრულად დატვირთული თქვენს გვერდზე. 59 00:02:46,930 --> 00:02:48,640 ეს არის სხვადასხვა ქვეყნების. 60 00:02:48,640 --> 00:02:53,890 ასე რომ, ჩვენ უნდა შექმნას ჩვენი ახალი XMLHttpRequest ობიექტის 61 00:02:53,890 --> 00:02:58,740 შეცვლის, როდესაც მზად სახელმწიფო ცვლილებები. 62 00:02:58,740 --> 00:03:01,925 და, როგორც წესი, ჩვენ ამას ვაკეთებთ მიერ განსაზღვრის ანონიმური ფუნქცია, რომელიც 63 00:03:01,925 --> 00:03:04,490 ჩვენ იცნობს JavaScript ახლა, რომ 64 00:03:04,490 --> 00:03:09,840 ეწოდება, როდესაც მზად სახელმწიფო ცვლილებები. 65 00:03:09,840 --> 00:03:11,340 ეს ნამდვილად არ არის უფრო მეტი, ვიდრე, რომ. 66 00:03:11,340 --> 00:03:14,340 ჩვენ უბრალოდ უნდა განსაზღვრაში ანონიმური ფუნქცია, ერთგვარი მინდა რა 67 00:03:14,340 --> 00:03:16,440 ვაკეთებდით JavaScript, სადაც ჩვენ გვინდა 68 00:03:16,440 --> 00:03:18,750 ანონიმური ფუნქცია რეაგირება დაჭერით, 69 00:03:18,750 --> 00:03:23,230 ან როცა ვაკეთებდით რუკა სხვადასხვა ობიექტების მასივი. 70 00:03:23,230 --> 00:03:25,220 >> რაღაც მოხდა, როდესაც რაღაც დააწკაპებთ. 71 00:03:25,220 --> 00:03:28,810 ამ შემთხვევაში, უბრალოდ რაღაც მაშინ, როცა სახელმწიფო ჩვენი გვერდი 72 00:03:28,810 --> 00:03:30,160 ცვლილებები. 73 00:03:30,160 --> 00:03:32,730 არსებობს ორი სხვა თვისებები რომ ერთგვარი of-- ისინი არ 74 00:03:32,730 --> 00:03:35,524 ერთადერთი თვისებები, რომლებიც თანდაყოლილი XMLHttpRequest, 75 00:03:35,524 --> 00:03:36,940 მაგრამ ისინი საკმაოდ მნიშვნელოვანია. 76 00:03:36,940 --> 00:03:39,815 არსებობს რაღაც მოუწოდა readyState, რომელიც, როგორც თქვენ ალბათ შეუძლია გამოიცნოს, 77 00:03:39,815 --> 00:03:41,750 არის დაკავშირებული onreadystatechange. 78 00:03:41,750 --> 00:03:44,250 ეს ფაქტიურად გიჩვენებთ ის, რაც readyState არის. 79 00:03:44,250 --> 00:03:46,289 0, 1, 2, 3, და 4 შესაძლებლობები არსებობს, 80 00:03:46,289 --> 00:03:48,080 და ისინი ერთგვარი უხეშად შეესაბამება რა 81 00:03:48,080 --> 00:03:50,030 მე უბრალოდ ვსაუბრობთ მეორე წინ. 82 00:03:50,030 --> 00:03:53,100 >> და მაშინ მდგომარეობა, რომელიც იმედია, თუ ყველაფერი, OK, 83 00:03:53,100 --> 00:03:56,710 200, რომელიც მოკლე ამისთვის, რა თქმა უნდა, OK, 84 00:03:56,710 --> 00:03:58,330 რომელიც ჩვენ იცნობს Http. 85 00:03:58,330 --> 00:04:03,735 ასე რომ, ჩვენ იმედი გვაქვს, რომ ჩვენი მზად სახელმწიფო არის ოთხი, და ჩვენი მდგომარეობა არის 200. 86 00:04:03,735 --> 00:04:07,940 და თუ ჩვენი მზად სახელმწიფო არის ოთხი, და პასუხი 87 00:04:07,940 --> 00:04:11,490 მზად არის დააყენოს გვერდი და სტატუსის 200, 88 00:04:11,490 --> 00:04:13,580 ჩვენ შევძელით ამის გაკეთება ყველაფერი წარმატებით, 89 00:04:13,580 --> 00:04:17,209 ახლა შეგვიძლია asynchronously განაახლოს ჩვენი გვერდი 90 00:04:17,209 --> 00:04:21,730 გარეშე განაახლეთ მთელი შინაარსი იგი. 91 00:04:21,730 --> 00:04:27,710 >> მას შემდეგ, რაც ჩვენ განსაზღვრული, თუ რა ხდება რომ onreadystatechange ქცევა, 92 00:04:27,710 --> 00:04:31,020 და ჩვენ შემოწმდება, რომ readyState არის 4 და სტატუსი 200, 93 00:04:31,020 --> 00:04:33,900 მაშინ ყველა ჩვენ უნდა გავაკეთოთ არის გახსენით ასინქრონული 94 00:04:33,900 --> 00:04:38,530 თხოვნა, რომელიც მხოლოდ მიღების HTTP- ის ზოგადად მოთხოვნით. 95 00:04:38,530 --> 00:04:41,950 უბრალოდ აკეთებს ამას პროგრამულად, ნაცვლად მეშვეობით ჩვენი ბრაუზერში. 96 00:04:41,950 --> 00:04:43,786 და მაშინ ჩვენ გააგზავნოთ მოთხოვნა. 97 00:04:43,786 --> 00:04:45,660 ასე რომ, რას ნიშნავს ეს, შესაძლოა, ჰგავს კონტექსტში? 98 00:04:45,660 --> 00:04:49,790 ასე რომ, აქ არის ფუნქცია, რომელიც ეხება AJAX მოითხოვს. 99 00:04:49,790 --> 00:04:50,290 OK? 100 00:04:50,290 --> 00:04:52,430 და მე თვითნებურად განაცხადა ეს იღებს არგუმენტი. 101 00:04:52,430 --> 00:04:55,550 და ეს ერთგვარი ზოგადი ჩონჩხი აქ. 102 00:04:55,550 --> 00:05:00,890 თავიდანვე, მივიღებთ საკუთარ თავს ახალი XMLHttpRequest ობიექტი. 103 00:05:00,890 --> 00:05:03,830 ამის შემდეგ, მე უნდა მითითებული onreadystatechange ქცევა. 104 00:05:03,830 --> 00:05:06,970 ასე რომ, მე ვაპირებ ვთქვა როდესაც readyState ცვლილებები, 105 00:05:06,970 --> 00:05:10,110 მე მინდა მოვუწოდო ამ ფუნქციას. 106 00:05:10,110 --> 00:05:12,570 >> რომელი ვაპირებ ვკითხო კითხვაზე, თუ readyState 107 00:05:12,570 --> 00:05:17,240 4, თუ readyState შეიცვალა უნდა იყოს 4 და მდგომარეობა იყო 200, 108 00:05:17,240 --> 00:05:20,799 ამიტომ ჩვენ გვქონდა წარმატებით მოთხოვნით, მე მინდა, რომ რამე გვერდზე. 109 00:05:20,799 --> 00:05:22,590 ჩვენ შევხედოთ განთავსებულია მაგალითად, თუ რა 110 00:05:22,590 --> 00:05:25,010 რომ რაღაც შეიძლება იყოს მეორე. 111 00:05:25,010 --> 00:05:27,830 ასე რომ, ახლა მე არ განისაზღვრება ჩემი ანონიმური ფუნქცია, 112 00:05:27,830 --> 00:05:31,340 ჩემი პასუხი ფუნქცია როდესაც readyState ცვლილებები. 113 00:05:31,340 --> 00:05:37,120 >> ასე რომ, მე უბრალოდ უნდა გახსნა მოითხოვოს გამოყენებით Open მეთოდი. 114 00:05:37,120 --> 00:05:39,160 და მაშინ, მე გააგზავნოთ მოთხოვნა. 115 00:05:39,160 --> 00:05:41,980 და მოდით შევხედოთ უფრო კონკრეტული მაგალითი 116 00:05:41,980 --> 00:05:46,290 რა AJAX შეგიძლიათ ჩვენს ვებ გვერდებზე. 117 00:05:46,290 --> 00:05:49,740 ასე რომ, მე აქ ძალიან მარტივი გვერდი სახელწოდებით home.html. 118 00:05:49,740 --> 00:05:53,620 და მაქვს ინფორმაცია, მიდის აქ და გარკვეული ჩამოსაშლელი მენიუ. 119 00:05:53,620 --> 00:05:55,390 >> და ჩვენ დავუბრუნდეთ ამ ერთ წამში. 120 00:05:55,390 --> 00:05:59,150 მაგრამ მე ვფიქრობ, რომ ჩვენ უნდა მიიღოს შევხედოთ ფაქტობრივი კოდი. 121 00:05:59,150 --> 00:06:01,080 ასე რომ, მე ვაპირებ გახსენით home.html. 122 00:06:01,080 --> 00:06:03,490 123 00:06:03,490 --> 00:06:04,740 ჩვენ დავინახავთ, რა ხდება. 124 00:06:04,740 --> 00:06:08,240 ასე რომ, ძალიან ზევით აქ, მე მაქვს ზოგიერთი JavaScript პერსონალი, რომ ხდება. 125 00:06:08,240 --> 00:06:12,470 >> და აქ, მე აშკარად აქვს div რომლის ID არის infodiv, 126 00:06:12,470 --> 00:06:15,290 ზოგიერთი ინფორმაცია აპირებს იქ. 127 00:06:15,290 --> 00:06:16,374 და მაშინ მე ამ ფორმით. 128 00:06:16,374 --> 00:06:18,081 და შიგნით ამ ფორმა, მე მაქვს რაღაც 129 00:06:18,081 --> 00:06:20,200 ე.წ. აირჩიეთ, რომელიც მხოლოდ ჩამოსაშლელი მენიუ 130 00:06:20,200 --> 00:06:22,150 ერთად bunch სხვადასხვა პარამეტრები. 131 00:06:22,150 --> 00:06:26,150 და როგორც ჩანს, როდესაც, რომელიც ცვლის, როდესაც ვარიანტი, რომელიც უკვე შერჩეული აქვს 132 00:06:26,150 --> 00:06:30,600 შეიცვალა, მე ვაპირებ მოვუწოდო ზოგიერთი ფუნქცია cs50Info, 133 00:06:30,600 --> 00:06:33,190 და შემდეგ მე ვაპირებ გაივლის this.value, 134 00:06:33,190 --> 00:06:35,740 სადაც ეს ეხება რომელი ვარიანტი შეირჩა, 135 00:06:35,740 --> 00:06:39,820 და მნიშვნელობა ერთ-ერთი ასეთი აქ, ვარიანტი მნიშვნელობა = ტოლია ცარიელი, "ბლუმბერგის" 136 00:06:39,820 --> 00:06:42,610 "Bowden", "chan" და "Malan." 137 00:06:42,610 --> 00:06:45,090 >> ასე რომ, რა შეიძლება რეალურად მოხდება აქ, როდესაც ამის გაკეთება? 138 00:06:45,090 --> 00:06:48,800 ისე, მოდით მიიღოს შევხედოთ blumberg.html. 139 00:06:48,800 --> 00:06:51,330 140 00:06:51,330 --> 00:06:53,924 როგორც ჩანს, ეს მხოლოდ snippet ზოგიერთი HTML. 141 00:06:53,924 --> 00:06:56,090 და სინამდვილეში, რაც მე იმ იმედით მოხდება აქ 142 00:06:56,090 --> 00:07:00,020 მე ვაპირებ, რომ შეძლებს plug ამ Html პირდაპირ ჩემი ვებ გვერდი 143 00:07:00,020 --> 00:07:02,970 გარეშე განაახლეთ გვერდი, ისეთი, რომ როდესაც 144 00:07:02,970 --> 00:07:07,510 მე აირჩიოს Hannah საწყისი ჩამოსაშლელი მენიუ, ინფორმაცია იმის შესახებ, Hannah, 145 00:07:07,510 --> 00:07:11,100 კერძოდ, ეს ინფორმაცია აქ blumberg.html, 146 00:07:11,100 --> 00:07:12,574 არის ის, რაც აჩვენებს up გვერდზე. 147 00:07:12,574 --> 00:07:13,740 და მე არ უნდა ამოცნობა. 148 00:07:13,740 --> 00:07:16,842 და თუ მე აირჩია სხვისი, მათი ინფორმაციით, გამოჩნდება. 149 00:07:16,842 --> 00:07:17,550 როგორ შემიძლია ამის გაკეთება? 150 00:07:17,550 --> 00:07:20,290 ისევ და ისევ, ეს მოითხოვს ჩვენთვის გამოიყენოს ზოგიერთი AJAX. 151 00:07:20,290 --> 00:07:22,540 ასე რომ, ჩვენ ყველაფერს ქმნის ajax.js. 152 00:07:22,540 --> 00:07:25,550 აქ არის, რომ ფუნქცია, cs50Info. 153 00:07:25,550 --> 00:07:27,410 თუ სახელი არაფერია, მე დაბრუნებას. 154 00:07:27,410 --> 00:07:31,450 მე არ ვაპირებ არაფრის თუ ცარიელი ვარიანტი აირჩია. 155 00:07:31,450 --> 00:07:35,420 წინააღმდეგ შემთხვევაში, მე ვაპირებ შექმნა ახალი XMLHttpRequest. 156 00:07:35,420 --> 00:07:39,020 და მაშინ მე ვაპირებ ვთქვა, როდესაც readyState ცვლილებები, დარეკეთ ამ ფუნქციას. 157 00:07:39,020 --> 00:07:43,630 >> და თუ readyState არის 4 და მდგომარეობა არის 200, 158 00:07:43,630 --> 00:07:45,740 აქ არის ცოტა of jQuery on line 13. 159 00:07:45,740 --> 00:07:50,450 მაგრამ ყველა მე ვაკეთებ ამბობს, შეცვლის შინაარსი infodiv 160 00:07:50,450 --> 00:07:57,820 უნდა იყოს, რაც მე მივიღე, როგორც პასუხი ჩემი HttpRequest. 161 00:07:57,820 --> 00:07:59,590 >> რა არის ჩემი HttpRequest? 162 00:07:59,590 --> 00:08:02,020 ისე, რომ მარჯვენა აქ ხაზი 18 და 19. 163 00:08:02,020 --> 00:08:08,550 Line 18, მე ძირითადად ემზადება ოჯახის თხოვნით სახელწოდება + .html. 164 00:08:08,550 --> 00:08:11,170 ისევ და ისევ, სახელი აქ არის არგუმენტი, რომ იყო 165 00:08:11,170 --> 00:08:14,280 შევიდა, როგორც პარამეტრი cs50Info. 166 00:08:14,280 --> 00:08:18,460 >> ასე რომ, ძირითადად, მე გავლით ვიღაცის ასახელებს, რაც იყო, რომ ნაკრები პარამეტრები 167 00:08:18,460 --> 00:08:22,980 რომ დავინახეთ, ჩამოშლადი მენიუს სახით. 168 00:08:22,980 --> 00:08:24,450 მე მისაღებად, რომ სახელი. 169 00:08:24,450 --> 00:08:29,530 და მე ვამბობ, მინდა გთხოვთ მიიღოს ჩემთვის, რომ file.html, 170 00:08:29,530 --> 00:08:31,020 და შემდეგ, რომ მოთხოვნა. 171 00:08:31,020 --> 00:08:34,820 >> და ისე, რომ onreadystatechange აპირებს უნდა იყოს მოსმენისა და ელოდება და ელოდება 172 00:08:34,820 --> 00:08:39,460 და ელოდება, სანამ readyState 4 და სტატუსის 200. 173 00:08:39,460 --> 00:08:44,970 ასე რომ, ის მზად იქნება გაწერილი, და მოთხოვნა წარმატებული იყო. 174 00:08:44,970 --> 00:08:49,500 და მაშინ, თუ ის არის, რომ ის აპირებს შეცვლის შინაარსი infodiv 175 00:08:49,500 --> 00:08:53,030 უნდა იყოს პასუხი ტექსტი, რომელიც მე მივიღე უკან. 176 00:08:53,030 --> 00:08:54,930 >> მოდით ვნახოთ, თუ როგორ ეს შეიძლება რეალურად მუშაობა. 177 00:08:54,930 --> 00:08:58,860 ასე რომ, ჩვენ უხელმძღვანელებს გადასცა ჩემს ბრაუზერში ფანჯარა, და ჩვენ შევხედოთ აქ. 178 00:08:58,860 --> 00:09:01,359 მოდით შევხედოთ რა ხდება აქ AJAX. 179 00:09:01,359 --> 00:09:03,400 ასე რომ, ჩვენ აირჩიოს ვინმეს საწყისი ჩამოსაშლელი მენიუ. 180 00:09:03,400 --> 00:09:06,079 ასე რომ, ამ შემთხვევაში, მოდით უბრალოდ აირჩიეთ ხანა. 181 00:09:06,079 --> 00:09:08,120 და შეამჩნია, რომ ხანას, ინფორმაცია შეიცვალა, 182 00:09:08,120 --> 00:09:11,030 მაგრამ მე არ მაქვს any-- ჩემი გვერდი არ მთლიანად განაახლეთ. 183 00:09:11,030 --> 00:09:12,190 პერსონალის დარჩა. 184 00:09:12,190 --> 00:09:13,320 უმეტესობა პერსონალის დარჩა. 185 00:09:13,320 --> 00:09:14,320 AJAX ტესტი არ შეიცვლება. 186 00:09:14,320 --> 00:09:16,700 ღილაკს თავისთავად, ეს ჩამოშლადი მენიუ არ იცვლება. 187 00:09:16,700 --> 00:09:18,260 მაგრამ არ გააკეთა ცვლილება. 188 00:09:18,260 --> 00:09:20,218 და იმის მიხედვით, თუ როგორ სწრაფად ჩემი კომპიუტერი ნაბიჯები, 189 00:09:20,218 --> 00:09:24,430 თქვენ რეალურად ალბათ ხედავთ, რომ შინაარსი ქრება და შემდეგ ხელახლა ნამდვილად 190 00:09:24,430 --> 00:09:24,930 სწრაფად. 191 00:09:24,930 --> 00:09:27,320 ეს არის ფაილი მიმდინარეობს წაიშლება infodiv, 192 00:09:27,320 --> 00:09:29,940 და მერე შეცვალა ახალი ასინქრონული მოთხოვნით. 193 00:09:29,940 --> 00:09:34,410 >> ასე რომ, თუ მე ჩართოთ იგი უნდა ვთქვა, Rob-- და ისევ, შევხედოთ, 194 00:09:34,410 --> 00:09:38,379 და იქნებ ჩვენ დავინახავთ, რომ, ფაქტობრივად, გაქრება და ჩნდებიან სწრაფად. 195 00:09:38,379 --> 00:09:38,920 თქვენ ხედავთ, რომ? 196 00:09:38,920 --> 00:09:41,400 როგორ უბრალოდ გამოჩნდა მოშორებით, და მაშინ იგი შევსება? 197 00:09:41,400 --> 00:09:43,640 ეს არის AJAX მოთხოვნა ერთგვარი მიმდინარეობს. 198 00:09:43,640 --> 00:09:46,060 ასე რომ, დამოკიდებულია ადამიანი აირჩიოს, მე 199 00:09:46,060 --> 00:09:50,690 მიღების სხვადასხვა ასინქრონული თხოვნით სხვადასხვა ფაილის 200 00:09:50,690 --> 00:09:52,730 რომ მაქვს ჩემს სერვერზე. 201 00:09:52,730 --> 00:09:55,550 და შინაარსი ჩემი infodiv განახლებაზე, 202 00:09:55,550 --> 00:09:58,457 საფუძველზე, რომელიც ამ მე აირჩია. 203 00:09:58,457 --> 00:10:00,040 ასე რომ, რეალურად, ყველა იქ არის AJAX. 204 00:10:00,040 --> 00:10:04,090 ეს საშუალებას გვაძლევს, რომ ეს ასინქრონული მოითხოვს, ჩემ გვერდზე. 205 00:10:04,090 --> 00:10:06,450 გარეშე ამოცნობა მთელი გვერდი, 206 00:10:06,450 --> 00:10:08,520 ჩვენ ვაპირებთ, რომ ახალი შინაარსის მიერ მიღების 207 00:10:08,520 --> 00:10:11,170 ახალი ახალი მოთხოვნა სერვერზე. 208 00:10:11,170 --> 00:10:13,420 ასე რომ, ჩვენი გვერდები შეიძლება გახდეს საკმაოდ ცოტა უფრო დინამიური. 209 00:10:13,420 --> 00:10:15,128 >> და, როგორც ჩვენ უფრო და მოწინავე, თქვენ 210 00:10:15,128 --> 00:10:17,700 შეიძლება რამ, როგორიცაა ვთქვათ, თქვენი ელ, 211 00:10:17,700 --> 00:10:19,850 სადაც არ უნდა არაფერს. 212 00:10:19,850 --> 00:10:22,560 თქვენ არ გაქვთ დააჭირეთ ჩამოშლადი მენიუ და დააჭირეთ არაფერი, 213 00:10:22,560 --> 00:10:25,920 და უეცრად, თქვენი უახლესი ელ აჩვენებს up ზედა. 214 00:10:25,920 --> 00:10:27,840 ეს არის ასევე მხოლოდ Ajax თხოვნით. 215 00:10:27,840 --> 00:10:30,460 Ajax ითხოვს თქვენი სერვერზე, ფოსტაზე, 216 00:10:30,460 --> 00:10:33,360 გადაგზავნას ყველა ინფორმაცია თქვენი უკანასკნელი წერილებს, 217 00:10:33,360 --> 00:10:38,110 და შეცვლის, რასაც ხედავთ ეკრანზე იყოს თქვენი უახლესი კომპლექტი ელ. 218 00:10:38,110 --> 00:10:41,080 და თუ თქვენ გაქვთ ახალი ერთი იქ, მაშინ შინაარსი რომ div 219 00:10:41,080 --> 00:10:44,580 შეიცვლება ასახავს განახლებული მობილურისთვის. 220 00:10:44,580 --> 00:10:45,480 მე Doug Lloyd. 221 00:10:45,480 --> 00:10:47,500 ეს არის CS50. 222 00:10:47,500 --> 00:10:49,229