Кіріспе
Ajax (осылай AJAX '/eɪ//dʒ//æ//k//s/; "Asynchronous JavaScript and XML" немесе "Asynchronous JavaScript деректерді беру (x fer)" дегеннің қысқаша атауы) – клиенттік жағынан әртүрлі веб-технологияларды пайдаланып, асинхронды веб-қосымшаларды құруға арналған веб-дамыту техникаларының жиынтығы. Ajax көмегімен веб-қосымшалар серверден деректерді асинхронды түрде (фонда) жіберуге және алуға болады, бұл қолданыстағы беттің көрсетілімі мен әрекетіне кедергі келтірмейді. Деректер алмасу қабатын көрсету қабатынан бөлу арқылы, Ajax веб-беттерге және, тиісінше, веб-қосымшаларға бүкіл бетті қайта жүктеу қажеттілігінсіз мазмұнды динамикалық түрде өзгертуге мүмкіндік береді. Қазіргі заманғы іске асыруларда көбінесе XML орнына JSON қолданылады. Ajax – технология емес, оның орнына бағдарламалау концепциясы. HTML және CSS ақпаратты белгілеу және стильдеу үшін біріктіріле алады. Веб-бет JavaScript арқылы өзгертіліп, жаңа ақпаратты динамикалық түрде көрсетуге және пайдаланушыға онымен өзара әрекеттесуге мүмкіндік береді. Веб-беттерде Ajax-ты іске асыру үшін XMLHttpRequest нысаны қолданылады, бұл веб-сайттарға бетті жаңартпастан мазмұнды экранға жүктеуге мүмкіндік береді. Ajax – жаңа технология емес, жаңа тіл де емес. Оның орнына, бұл жаңаша қолданылған қолданыстағы технологиялар.
Ajax (also AJAX '/eɪ//dʒ//æ//k//s/; short for "Asynchronous JavaScript and XML" or "Asynchronous JavaScript transfer (x fer)") is a set of web development techniques that uses various web technologies on the client side to create asynchronous web applications. With Ajax, web applications can send and retrieve data from a server asynchronously (in the background) without interfering with the display and behaviour of the existing page. By decoupling the data interchange layer from the presentation layer, Ajax allows web pages and, by extension, web applications, to change content dynamically without the need to reload the entire page. In practice, modern implementations commonly utilize JSON instead of XML. Ajax is not a technology, but rather a programming concept. HTML and CSS can be used in combination to mark up and style information. The webpage can be modified by JavaScript to dynamically display—and allow the user to interact with the new information. The built in XMLHttpRequest object is used to execute Ajax on webpages, allowing websites to load content onto the screen without refreshing the page. Ajax is not a new technology, nor is it a new language. Instead, it is existing technologies used in a new way.
Тарих
1990 жылдардың басында көптеген веб-сайттар толық HTML беттеріне негізделген. Әрбір пайдаланушының әрекеті серверден жаңа беттің толық жүктелуін қажет етті. Бұл процесс тиімсіз болды, бұл пайдаланушы тәжірибесінде көрінді: беттің барлық мазмұны жоғалып, содан кейін жаңа бет пайда болатын. Браузер бетті жаңартқан сайын, тіпті тек бір бөлігі ғана өзгерген болса да, барлық мазмұн қайта жіберілуі керек еді. Бұл серверге қосымша жүктеме салып, өткізу қабілетін өнімділікті шектейтін факторға айналдырды. 1996 жылы Internet Explorer iframe тегін енгізді, ол веб-беттің бір бөлігін асинхронды түрде жүктеуге мүмкіндік берді. 1998 жылы Microsoft Outlook Web Access тобы XMLHttpRequest скрипт объектісінің тұжырымдамасын жасады. Ол 1999 жылдың наурызында Internet Explorer 5.0-мен бірге шығарылған MSXML кітапханасының екінші нұсқасында XMLHTTP ретінде пайда болды. IE 5-тегі Windows XMLHTTP ActiveX элементінің функционалдығы кейіннен Mozilla Firefox, Safari, Opera, Google Chrome және басқа браузерлерде XMLHttpRequest JavaScript объектісі ретінде іске асырылды. Microsoft Internet Explorer 7 нұсқасынан бастап XMLHttpRequest үлгісін қабылдады. ActiveX нұсқасы әлі де Internet Explorer-де қолдау көрсетіледі, бірақ Microsoft Edge-де жоқ. Осы фоновые HTTP сұраныстарының және асинхронды веб-технологиялардың пайдалылығы Outlook Web Access (2000) және Oddpost (2002) сияқты кең ауқымды онлайн-қосымшаларда қолданыла бастағанға дейін түсініксіз болып келді. Google Gmail (2004) және Google Maps (2005) арқылы стандарттарға сәйкес келетін, кросс-браузерлік Ajax-ты кеңінен пайдаланды. 2004 жылдың қазанында Kayak.com-ның бета-нұсқасы сол кездегі олардың әзірлеушілері "xml http нәрсе" деп атаған алғашқы кең ауқымды электрондық коммерция қолданыстарының бірі болды. Бұл веб-бағдарламалаушылардың Ajax-қа деген қызығушылығын арттырды. AJAX термині 2005 жылдың 18 ақпанында Джесси Джеймс Гарретттің "Ajax: A New Approach to Web Applications" мақаласында, Google беттерінде қолданылатын техникаларға негізделген, ресми түрде қолданылды. 2006 жылдың 5 сәуірінде World Wide Web Consortium (W3C) ресми веб-стандартты құру мақсатымен XMLHttpRequest объектісінің бірінші жобалық спецификациясын жариялады. XMLHttpRequest объектісінің соңғы жобасы 2016 жылдың 6 қазанында жарияланды, ал XMLHttpRequest спецификациясы қазіргі таңдағы тірі стандарт болып табылады.
Технологиялар
Ajax термині беттің ағымдағы күйін бұзбай, сервермен фоновое байланыс арқылы қарым-қатынас жасайтын веб-қосымшаны іске асыруға қолданылатын веб-технологиялардың кең тобын білдіреді. Ajax терминін енгізген мақалада басқа форматтар да қолданылуы мүмкін, мысалы, алдын ала форматталған HTML немесе қарапайым мәтін. JQuery сияқты көптеген танымал JavaScript кітапханалары Ajax сұраныстарын орындауға көмектесетін абстракцияларды қамтиды.
Үлгісін алу
Fetch - бұл JavaScript-тің түпкілікті API-і. Google Developers Documentation-ға сәйкес, "Fetch бұрынғы XMLHttpRequest-ке қарағанда веб-сұраулар жасауды және жауаптарды өңдеуді жеңілдетеді". fetch('send ajax data.php')
.then(data => console.log(data))
.catch(error => console.log('Қате:' + error));
then(data => console. log(data))
catch (error => console. log('Error:' + error));
Артықшылықтары
Ajax веб-қосымшалардың өнімділігін және пайдаланушы тәжірибесін едәуір жақсартатын бірнеше артықшылықтар ұсынады. Сервер трафигін азайту және жылдамдықты арттыру арқылы Ajax қазіргі веб-әзірлеуде маңызды рөл атқарады. Ajax-тың негізгі артықшылығы – деректерді алу қажеттілігінсіз веб-қосымшаларды көрсету мүмкіндігі, осылайша сервер трафигі төмендейді. Бұл оңтайландыру сервер және клиент тарапында жауап беру уақытын қысқартады, пайдаланушылардың жүктеу экраны күтуіне қажеттілігін жояды. Сонымен қатар, Ajax асинхронды өңдеуді XmlHttpRequest-ты пайдалануды жеңілдету арқылы жеңілдетеді, бұл асинхронды деректерді алу сұраныстарын тиімді басқаруға мүмкіндік береді. Атап айтқанда, контенттің динамикалық жүктелуі қосымшаның өнімділігін айтарлықтай арттырады. Одан бөлек, Ajax Microsoft Internet Explorer 5 және одан жоғары нұсқалары, Mozilla Firefox 1.0 және одан жоғары нұсқалары, Opera 7.6 және одан жоғары нұсқалары, сондай-ақ Apple Safari 1.2 және одан жоғары нұсқалары сияқты барлық негізгі веб-браузерлерде кең қолдауға ие.