Bazı durumlarda belirli bir sürede (Örneğimizde bu 5 saniyede birdir) belirli bir veriyi devamlı değiştirmemiz gerekebilir. Bu durumda ajax kullanmamız en mantıklı seçim olacaktır. Aşağıdaki örneğimizde bu olayı daha iyi anlatabilmek için ben 5 saniyede bir rastgele(random) sayı üreten bir asp sayfası (rastgele_sayi_uret.asp) ve onu 5 saniyede bir çağıracak bir başka sayfa (index.asp) oluşurdum. Örneğin çalışan şekli aşağıdaki gibidir. Uygulamanın indirme linkini makale sonunda bulabilirsiniz. Örneği sağlıklı görmek açısından sayfanın tam yüklendiğinden emin olunuz.


1.Şimdi ilk olarak “index.asp” sayfamızın kodlarına bakalım.

<html>
<head>
<meta http-equiv="Content-Language" content="tr">
<script type="text/JavaScript" language="JavaScript">
var xmlHttp=false;
try {
xmlHttp = new ActiveXObject("Msxml2.xmlHttp");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.xmlHttp");
}
catch (E) {
xmlHttp = false;
}
}
if (!xmlHttp && typeof XMLHttpRequest!='undefined') {
try {
xmlHttp = new XMLHttpRequest();
}
catch (e) {
xmlHttp=false;
}
}
if (!xmlHttp && window.createRequest) {
try {
xmlHttp = window.createRequest();
}
catch (e) {
xmlHttp=false;
}
}
function callServer(){
//burada çağiracağin sayfayı yazarsın
var url = "rastgele_sayi_uret.asp" + "?tarih=" + new Date().getTime();
 
xmlHttp.open("GET", url, true);
xmlHttp.onreadystatechange = updatePage;{
if (xmlHttp.readyState==4) {
alert(xmlHttp.responseText)
}
}
xmlHttp.send(null)
}
function updatePage(){
//4 sorun yoksa demek
if(xmlHttp.readyState == 4){
//gelen cevap
var response = xmlHttp.responseText;
//hangi div gelcekse buraya yazılcak
sonuc.innerHTML = response;
//500 milisaniyede bir fonksiyonu cağirir
setTimeout('callServer()',5000);
}
}
callServer('url');
//sonuc adlı divin stil dosyasını ayarlıyoruz ,
//bu bölümü kafanıza göre değiştirebilirsiniz..
</script>
<style type="text/css">
.style1 {
	font-family: 00222;
	font-size: xx-large;
	border:thin #000000 solid;
	background: #FFCC00;
	width: 100%;
	height: 41px;
	text-align: center; 
	color: #000000;
}
</style>
 
</head>
<div id="sonuc" class="style1"></div>



2.Rastgele bir sayı üretip ekrana yazdıran asp dosyamızın “rastgele_sayi_uret.asp” kodlarıda aşağıdaki gibidir.

  1. <%
  2. 'asp de rastgele sayı üretip sayi değişkenine atiyoruz..
  3. Randomize 
  4. sayi = int((Rnd * 100 )+1 )  
  5. %>
  6. <%=sayi%>

Uygulamada tam olarak yaptığımız javanın settimeout olayını kullanarak ajax post işlemini devamlı yaptırmaktan ibarettir. Gelen cevap id “sonuc” olan div içine 5 saniyede bir yüklenmektedir. Kodların içinde gerekli açıklamalar mevcuttur. Kolay gelsin…