AJAX՝ (Asynchronous JavaScript and XML)[1], Համաշխարհային սարդոստայն տեխնոլոգիաների համակցված խմբի անվանում է, որը թույլ է տալիս տվյալների փոխանակում սպասառուի և սպասարկուի միջև, ֆոնային ռեժիմում, առանց վեբ էջի վերբեռնման և ցուցադրման/աշխատանքի խաթարման, հաճախ ավելի ինտերակտիվ և արագ դարձնելով վեբ ծրագրերը։

Չնայած անվանմանը, հարցումները պարտադիր չէ ասինխրոն են, իսկ տվյալները պարտադիր չէ XML ֆորմատով ներկայացնել[2]։ Ավելին՝ այն հնարավոր է իրականացնել, ոչ միայն JavaScript-ով, այլ սկրիպտային լեզուների միջոցով, օրինակ VBScript, իսկ ի սկզբանե՝ 90-ականների կեսերին, նման մոտեցում իրականցվում էր JavaApplet-ների միջոցով։

Օրինակներ

խմբագրել
JavaScript օրինակ

Սովորական Ajax հարցման համար օգտագործվում է JavaScript-ով գրծված GET մեթոդը։

get-ajax-data.js

// Սա հաճախորդ-կողմի կոդն է։

var xhr = new XMLHttpRequest();
xhr.open('get', 'send-ajax-data.php');

xhr.onreadystatechange = function () {
    var DONE = 4; // նշանակում է հարցումն արված է։
    var OK = 200; // նշանակում է հաջողությամբ վերադարձրեց արդյունքը։
    if (xhr.readyState === DONE) {
        if (xhr.status === OK) {
            console.log(xhr.responseText); // 'Սա վերադարձվող տեքստն է։'
        } else {
            console.log('Error: ' + xhr.status); // Հարցման ժամանակ սխալ լինելու դեպքում
        }
    }
};

// Հարցումն ուղարկվում է send-ajax-data.php ֆայլին
xhr.send(null);

send-ajax-data.php:

<?php
// Սա սերվեր-կողմի կոդն է։

header('Content-Type: text/plain');

echo "Սա վերադարձվող տեքստն է։";
?>
jQuery օրինակ

Վերևի օրինակը JavaScript-ի jQuery գրադարանով։

$.get('send-ajax-data.php')
    .done(function(data) {
        console.log(data);
    })
    .fail(function(data) {
        console.log('Error: ' + data);
    });

Տես նաև

խմբագրել

Աղբյուրներ

խմբագրել
  1. Ջեսի Ջեյմս Գարեթ (2005 թ․ փետրվարի 18). «Ajax: A New Approach to Web Applications». AdaptivePath.com. Արխիվացված է օրիգինալից 2008 թ․ հուլիսի 2-ին. Վերցված է 2008 թ․ հունիսի 19-ին.
  2. Ուլման, Քրիս (Մարտ 2007). Beginning Ajax. wrox. ISBN 978-0-470-10675-4. Վերցված է 2008 թ․ հունիսի 24-ին.
  NODES
Javascript 4
text 2
web 1