JavaScript ve XMLHttpRequest ile etkileşimli web uygulamaları yaratmak için kullanılan tekniğe AJAX denir. AJAX; HTML, CSS, DOM, XML, JavaScript XML ve HttpRequest gibi birçok teknolojinin birleştirilmesi ile geliştirilmiştir. AJAX’ın en yaygın şekilde kullanımı yani temel amacı, sunucu ile az miktarda bilgi değiş tokuşu yaparak sayfaları hızlı şekilde güncelleyen web sayfaları yapmaktır. Bu da web sayfalarının hızının, kullanılabilirliğinin ve etkileşimin artmasına yardımcı olur.


AJAX, ilk defa 2005 senesinde Jesse James Garrett tarafından geliştirilmiş bir tekniktir. AJAX ismi Asynchronous JavaScript ve XML kelimelerinin baş harflerinden gelmektedir. AJAX, bir dil ya da kütüphane değil, bir yöntemdir. AJAX tekniği ile kod yazılmaz. AJAX, JavaScript ve XML dilleriyle ve tarayıcıda bulunan XmlHttpRequest nesnesiyle birlikte kullanılır.

 

AJAX Nasıl Çalışır?

▬ Web sayfasında bir olay meydana gelir (bir sayfa yüklenir ya da bir düğmeye tıklanır).
▬ JavaScript tarafından bir XMLHttpRequest nesnesi oluşturulur.
▬ Bu XMLHttpRequest nesnesi web sunucusuna istek gönderir.
▬ Sunucu bu isteği işleyerek, web sayfasına geri bir cevap gönderir.
▬ Gelen yanıt JavaScript tarafından okunur.
▬ JavaScript ile sayfa güncellemesi tarzında bir işlem gerçekleştirilir.

AJAX’ın temel taşı XMLHttpRequest nesnesidir. Modern tüm tarayıcılarda bu nesneyi desteklemektedir. XMLHttpRequest nesnesi sayesinde sunucuyla veri alışverişinde bulunulur. Bu da, tüm sayfanın sıfırdan yüklemeden, bir web sayfasının bazı bölümlerinin güncellemesini mümkün kılar. Chrome, Firefox, IE7+, Edge, Safari ve Opera gibi tüm tarayıcılarda yerleşik bir XMLHttpRequest nesnesi bulunmaktadır.

AJAX Nerelerde Kullanılır?


✓ Form Doğrulama: Formlar web sayfalarının olmazsa olmazları arasındadır. AJAX ile kolay ve hızlı şekilde form doğrulama yapılır.
✓ Lightbox: Web sitelerinde açılan pop-up’lar çoğu zaman rahatsız edicidir ve birçok tarayıcı tarafından da engellenir. AJAX ile pop-up’a iyi bir alternatif olarak lightbox yapılabilinir.
✓ Sıralama / Filtreleme: Bazen arama sonuçlarını ya da herhangi bir veriyi tarihe, maliyet gibi belli durumlara göre sıralamak ve filtrelemek istediğinizde AJAX bunun için en iyi tekniktir.

AJAX Tekniği Hangi Teknolojileri Kullanır?

AJAX'ın iyi bir kullanıcı deneyimi sunmak ve web sitesini daha hızlı hale getirmek için kullanılan en iyi seçenekten biri olduğunu kolaylıkla söyleyebiliriz. Eğer ki, web sitenizde Google haritalar, sohbet odaları, canlı bildirimler, canlı yayın gibi uygulamalar varsa AJAX size üst düzey hizmet sunacaktır.


AJAX tekniğinin birçok platformda kullanılmasını sağlayan geniş bir kod kütüphanesi yanı sıra Framework bulunmaktadır. Bunlar da bu tekniğin, yazılım mimarisinden işlerim sistemine ve web tarayıcılarına kadar çok çeşitli yerde kullanılmasını mümkün kılmaktadır. Şöyle ki;
 
• HTML ya da XHTML ve CSS’de bilginin biçimlendirilmesi ve görüntünün değiştirilmesinde,
• Verileri görüntülemek ve iletişim kurmak yani etkileşimli çalışmak için JavaScript, JScript ve ECMAScript gibi bir scripting dili yardımıyla erişebilen DOM (Document Object Model) oluşturulmasında,
• Tarayıcı ve sunucu arasındaki bilgi transferinde kullanılan XMLHttpRequest işlemlerinde, (Bazı özel AJAX frameworklar bazı tarayıcılarda bu işlem için iFrame de kullanılabilir.)
• Veri iletişiminde genelde XML kullanılır ancak düz metin, önceden hazırlanmış HTML, JSON veya EBML'de de kullanılabilir. Bu tarz dosyalar genel olarak sunucu tarafında dinamik olarak yaratılır (PHP, ASP. vb.).
• AJAX; DHTML ve LAMP gibi tekil bir teknolojiden çok tekniklerin birlikte bir bütün olarak kullanımıdır.

AJAX ve JavaScricpt Arasındaki Farklar Nelerdir?

→ AJAX, sunucuya istek gönderir, yanıt beklemez ve bu süre zarfında sayfadaki diğer işlemleri gerçekleştirir. JavaScript ise sunucuya bir istekte bulunur ve yanıt gelmesini bekler.
→ AJAX ile sayfanın tamamının indirilmesi için sayfanın yenilenmesi gerekmez. JavaScript ise indirildikten sonra bir web sayfasını yönetir ve kontrol eder.
→ AJAX, talebi bir kere yapıldığı için sunucudaki aşırı yüklemeyi en aza indirir. JavaScript ise her seferinde komut dosyasını güncelleyen bir istek gönderir.