pillinetwork hesabınızla giriş yapın.

Ajax nedir, ne değildir.

Herkesin şu ajax dediği şeyi bir ele alma vakti geldi artık!
Ajax anlam olarak Javascript ve XML'in farklı zamanlarda (asynchronous/senkron olmayan) kullanması anlamına geliyor.
Özetle sayfanız yüklendikten sonra sayfanızın hala veri alıyor ya da gönderiyor olması.
Ajax 2005 yılında Google'ın önerisi üzerine popülerleşmiştir.

  • Ajax yeni bir dili programlama değildir, mevcut dilin farklı şekillerde kullanılmasıdır.
  • Ajax animasyon yapımında kullanılan bir şey değildir, yani sağdan soldan kayan şeyler ajax değildir. Onlar yalnızca Javascriptin ve CSS in birlikte etkin kullanıldığı sayfalardır ki biz buna DHTML diyoruz. (Dom, javascript, css)
  • Ajax iyidir çünkü web site trafiğini düşürür, tüm sayfanın yeniden yüklenmesi yerine sadece gerekli yerler değiştirilerek trafikten kazanılır.
  • Ajax, javascript ile yazılır onu ASP, PHP, ColdFusion gibi diller ile zengin ve aktif olarak kullanabilirsiniz.

Ajax kullanımı, göz atıcınızın bu standartı (http request) desteklemesi ile gerçekleşir. Bu explorer için Microsoft.XMLHTTP ve bir çok diğer göz atıcı için XMLHttpRequest özelliğidir. Method isimleri farklı olsa da kullanımları aynıdır.

Bir ajax uygulama da işler şöyle yürür;

  1. Yüklenmiş sayfa istenen içeriğe göre javascript yardımıyla başka bir sayfaya string gönderir ki bu opsiyonel olarak session bilgisi, string ya da form verisi olabilir. (get / post)
  2. Javascript kodumuz bu sırada verinin gelip gelmediğini kontrol edebilir. Yani işlem başladığında loading.gif i bir yerlere yazdırıp işlem tamamlandığında silebilirsiniz. Bunu status kodu ile kontrol ederiz, eğer status 200 değerine eşitse veri yüklenmiş demektir.
  3. Gelen veri bir değişkene atanır (responseText)
  4. Artık buradan sonrası bildiğimiz javascript innerHTML kullanarak id'sini bildiğimiz bir alana veriyi yazdırabilir, ya da herhangi bir formun value'suna eşitleyerek form kutusu içine yazdırabiliriz.
    İşte bu kadar artık elimizde başka bir sayfa üzerinden alınmış bir data var.

Ajax illa bir başka bir sayfadan veri çekmek değildir, örneğin yazdığınız javascript içerisinde tanımlanmış bir array içinde uygun veriyi bulup sayfaya yazdırmak gibi bir amaçla da kullanılabilir.

En basit örneği pilli network sayfalarında ki yorumlarınız, örneğin herhangi bir yorumunuzu düzenlemeye bastığınızda seçtğiniz yorumun id'si bir sayfaya gönderiliyor, bu sayfa ID numaranızla database üzerinden metni alıp orada bir text editor içine yazıyor ardından bu içerikteki sayfa yorumunuzun bulunduğu ID deki DIV'in içine yazdırılıyor. Aynı işlem yorumunuzu düzenleyip gönderdikten sonra da tersi yönde işliyor, yorumunuz onu güncelleyecek bir sayfaya gönderilip metninizin yeni hali yine aynı DIV içerisine yazdırılıyor.

Bir diğer örnek youtube üzerinde arama yaparken arama kutusunun kelimelerinizi tamamlama özelliği yine bir ajax uygulamasının sonucudur.

Şimdilik ajaxla ilgili aktaracaklarım bu kadar.

Yazarın notu: AJAX'ı istediğiniz gibi okumakta özgürsünüz, ister yazıldığı gibi ister ayaks deyin farketmez önemli olan onu nasıl kullandığınız. :)
Not2: İlgi olması durumunda bir de örnek ajax uygulaması makalesi yazabilirim.

/* mnc yazdı. 16 Aralık 2008 13:37. 11 yorum var */

Yorumlar

Selamlar,

IE 7'den itibaren, XMLHTTPRequest nesnesine destek veriyor. Belirttiğiniz sınıf 6 ve öncesi için geçerli.

Ve "google'ın önerisi" kısmı "google suggest"'e karşılık geliyor sanırım. Google tarafından önerilmiş bir teknoloji değil yani. Güzel bir kullanım örneği idi sadece.

Http Request ile işlem yapıldığından sadece Get/Post tiplerinde değil aynı zamanda PUT/HEAD/DELETE tipleriylede isteklerde bulunmak mümkündür.

evet demek istediğim google suggest'in ardından popüler oldu, suggest'i türkçe yazınca sanırım yanlış anlaşıldı yani google'ın öneri kullanması üzerine desem daha düzgün olurmuş.

Ekleme için teşekkürler =)

/* Hengame | Oyundan biraz fazlası Koray KIRCAOĞLU | SinirAdam the box said 'requires windows 95 or better'. so I installed linux. */

Ajax'ten bahsederken hep asenkron ve senkron kavramlarından illâki bahsedilir. Bunlar hakkında basit bir yazı yazmıştım zamanında. Merak edenler alttaki adresten yazıya ulaşabilirler:

http://ajax-tr.com/asenkron-ve-senkron-meselesi/

göz atıcınızın gözleri kör olmuş... web sitelerinde en çok kullanılmasını sevdiğim yerler alışveriş sepetleri ve satır içinde düzenlemeler (inline edit).

lakin böyle güzel güzel makalelerle bizi iştahlandıran ustalarımız, bu konu ile ilgili en güzel ve makul çözümleri nerede bulacağımızı genelde es geçerler...

birileri şöyle bir makale nerde yazar: ? ex:
Ajax Uygulamaları, Sizin İçin Özell Çözümler
PHP Uygulamaları, Sizin İçin Özell Çözümler

hem öneri olmuş olsun, hem teşekkür...

/* kitaphaber, kitap ve eleştiri kaynağınız. */

Ajax'ın ne olduğunu, ne olmadığını anlatan güzel bir yazı olmuş. Javascriptle ve cssle yapılan göz boyamaları ajax ile gösterenler bu yazıyı bi okumalılar. Bu konuyla ben de bir makale yazmıştım. Umarım faydalı olur.

Güzel makale teşekkürler. Ayaks :) la yazılmış bir örnek uygulama ve ikinci bir makale talep ediyorum. Talep gelirse yazabilirim demişsin. Örneğin şehir seçince o şehrin ilçelerini veritabanından alsın gelsin ve aşağıdaki select box' ta göstersin. Bu aralar moda ya :)

microsoft bu konuda müthiş bir adım attı bizi de javascriptten kurtardı böylece asp.net ile ajax kullanmak isteyenlerin bir de javascript kasmasına gerek kalmıyor. bizi tembelleştirdiği ve mantığı kavramamızı zorlaştırdığı su götürmez olsa da bence bu çağda eşşek kadar javascript kod yazmak çok ilkel.

şu dönemler bence çok sancılı dönem. ama geçecektir.daha gelişmiş yönetilebilir,kişiselleştirebilir ria'lar lazım bize ajax'ın ömrü çok değil bence.

Makale için teşekkürler, ayrıca @vector bende sana katılıyorum, ASP.NET te Ajax Control Toolkit ile tek satır javascript yazmadan gayet güzel Ajax içerikli sayfalar hazırlanabiliyor.

@codemachine ajax control toolkit oldukça yetersiz birşey. bu yüzden vs 2010 da jquery entegre olarak geliyor. şuan çok ağır ve yavaş çalışıyor.

@Frosten yavaşlık konusunda doğru söylüyorsundur (ben pek test etmedim) ancak javascript bilmiyorsan ve sana ajax tarzı şeyler gerekiyorsa ajax control toolkit insanın baya bi işine yarıyor.

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org hep birlikte içerik üretip gelirini yazarları ile paylaştığımız kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

pilliilan

son yorumlar

arama

pillinetwork