AJAX
от Уикипедия, свободната енциклопедия
AJAX е похват в уеб разработките за създаване на интерактивни уеб приложения. Идеята е уеб страниците да станат по-впечатляващи чрез асинхронен обмен на на малки порции данни „зад кадър“, така че да не бъде необходимо да се презарежда цялата страница отново. По този начин се повишава интерактивността, скоростта и функционалността на страниците.
AJAX техниката се използва като комбинация от:
- XHTML (или HTML) и CSS за форматиране и ошрифтяване на текста.
- DOM (Document Object Model) реализиран чрез програмиране от стрна на клиента с помощта на езици като JavaScript и JScript за динамична визуализация и интерактивност на предоставената информация.
- XMLHttpRequest обекта за обмяна на данни асинхронно с уеб сървър. В някои случаи се използва IFrame обекта наместо XMLHttpRequest.
- XML в някои случаи е използвания формат за трансфер на данни между сървър и клиент. Все пак всеки формат е удачен, включително преформатиран HTML, чист текст, JSON и др.
Сам по себе си AJAX не е технология, а термин за употребата на група технологии. За първи път се споменава февруари 2005 г. от Джеси Джеймс Гарет в статията му „Ajax: A New Approach to Web Applications“.
[редактиране] Пример за използването на AJAX
function makeRequest() {
var http_request = false;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
http_request.overrideMimeType('text/xml'); // Фиксиране на някои проблеми
}
}
else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
alert('Възникна проблем при създаването на XMLHTTP връзка');
return false;
}
return http_request;
}
function testAJAX() {
var http_request = makeRequest();
var info = "Някаква информация";
var url = 'link/to/server/file/ajax.php?test=' + info;
http_request.open('GET', url, true);
http_request.onreadystatechange = function() { testResponse(http_request); };
http_request.send(null);
}
function testResponse(http_request) {
if (http_request.readyState == 4 || http_request.readyState == 'complete') { // Проверка...
if (http_request.status == 200) { // Втора проверка...
alert(http_request.responseText); // Действие с получената информация
}
else {
alert('Има проблем с получаването на информация');
}
}
}
<?php
if (isset($_GET['test'])) {
echo "Връщане на информация";
}
?>

