Ajax Dersleri - Ajax Nedir?

Ajax = Asynchronous JavaScript And XML.(Eszamansiz JavaScript ve XML)

En basta sunu belirtmekte fayda var:"Ajax bir programlama dili değildir"
Internet sayfalarında JavaScript ve XMLHttpRequest kullanımı ile etkileşimli uygulamalar yaratan tekniğin adidir. [wikipedia.org]

Bu teknik ile neler yapabilecegiz?

  • Sayfayi yenilemeden sunucuya verilerimizi gonderebilecegiz yada sunucudan veri okuyup sayfamizda kullanabilecegiz.
  • Sunucu ile yapilan bilgi alisverisi sonucunda elde edilen veriyi sayfamizda gerekli olan bolumlerde tum sayfayi guncellemeden gosterebilecegiz
  • Sayfamizda 1 adet uyelik formumuz var,bu form doldurulup gonderildiginde denetle.php gibi bir sayfada guvenlik denetimleri yada dogru bilgi kontrolleri yaptigmizi dusunelim.Mantik olarak kullanicinin denetle.php sayfasina ugramasina gerek yoktur formu barindiran ana sayfada kullaniciya sonucu bildirmek oldukca hos olacaktir. iste bu iki sayfa arasindaki konusma/anlasma icin ajax kullanacagiz.
  • Bu teknikte XML kullanabildigmizi gibi diger veri formatlarinida kullanabilecegiz[duz metin,html yada json gibi]

Hemen kucuk bir ornek yapalim.Sunucu uzerinde bulunan bir text dosyasindan veri okuyalim.



Buton tiklandiginda ajax istegi yapildi basari veya hata durumu ayni sayfada gosterildi,bu islemler esnasinda ayni sayfada kaldik ve sayfamiz yenilenmedi.
<div id="ornek" style="border:1px solid silver;padding:20px;">
	 	<p id="ajax_sonuc">
	 		
	 	</p>
	 	<button onclick="veriGetir()">Veri Getir</button>
</div>
<script>
	function veriGetir(){
	var sonuc=document.getElementById("ajax_sonuc");

			//sunucudan veri talebi icin XMLHttpRequest nesnemizi olusturalim
			var istek=new XMLHttpRequest();

			istek.onreadystatechange=function(){
					
					if(this.readyState ==4 && this.status ==200){
						sonuc.innerHTML=this.responseText;
					}else{
						sonuc.innerHTML = "HATA!";
					}

			}

			istek.open("GET","dersler.txt",true);
			istek.send();
	}
</script>


Bu derse ait gorus ve onerilerinizi yada farkettigniz hatalari Lutfen bana bildirin!
birbyte.net@gmail.com