Sayfa yenilenmeden sunucudan veri almak (Javascript)
Ceviz Viki, özgür ansiklopedi
[değiştir] Amaç
Sayfamızda bulunan belli bir elementi düzenli aralıklarla (örneğin 10 saniyede bir) bir dosyanın içeriğini kontrol ederek yanıtı o elemente yansıtmasını sağlamaktır. Buradaki örnekte aynı klasörde bulunan bir text dosyanın içeriği kontrol edilerek, onun içeriğine göre davranılması sağlanmıştır.
[değiştir] Sunucu etkileşimi
Bu örnekte özellikle belli bir sunucu tabanlı uzantı belirtilmemiştir (asp, php, cgi gibi) Bu .html dosyamızın üzerine çift tıklayıp çalıştırabilmemizi ve bu işlemin dilden bağımsız olduğunu anlamamıza yardımcı olmayı amaçlamaktadır.
yeni_mesaj_varmi.html
<html>
<head><title>Yeni mesaj bildirimi</title>
<script type="text/javascript">
//3 Ocak 2008, İstanbul
//anov
function kontrol_et()
{
scr=document.createElement("SCRIPT");
scr.type = "text/javascript";
scr.src = "yeni_mesaj_varmi.txt";
document.body.appendChild(scr);
var hidden = document.getElementById('yeni_mesaj_varmi');
if(hidden.value=="0")
{
document.getElementById("spanMesajDurumu").innerHTML = "Mesaj yok";
}
if(hidden.value!="0" && hidden.value.length>0)
{
document.getElementById("spanMesajDurumu").innerHTML = "<b>" + hidden.value + "</b> Mesajınız var!";
}
setTimeout("kontrol_et()", 10000); //10 saniyede bir
}
</script>
</head>
<body onload="kontrol_et()">
<input type="hidden" id="yeni_mesaj_varmi"/>
Mesaj durumu : <span id="spanMesajDurumu">Yeni mesaj yok</span>
</body>
</html>
yeni_mesaj_varmi.txt
document.getElementById('yeni_mesaj_varmi').value = "7";
//alert("kontrol ediliyor");
//not : sayfa bir kere yüklendikten sonra bu dosyayı
//değiştirip kaydederek esas sayfaya nasıl yansıdığını görebilirsin.
Not: Önce http://forum.ceviz.net/showthread.php?t=51712 adresindeki konu için yazılmış, sonra buraya taşınmıştır.
