21 Aralık 2008 Pazar

Asp ile Ajax post işlemi

Asp ile Ajax Teknolojisini İle Forma Girilen Bilgileri Sayfa Değişmeden Post Etme İşlemini Bir Örnekle Göstereceğim


<---default.asp nin içeriği-->

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-9">


<script>

function yeni_nesne(){

var nesneyarat;



if (!nesneyarat && typeof XMLHttpRequest!='undefined') {

try {

nesneyarat= new XMLHttpRequest();

} catch (e) {

nesneyarat=false;

}

}

return nesneyarat;

}


function AoL(id,cikti,hedef) {

var aktifform = document.getElementById(id);

var ekranayaz = document.getElementById(cikti);

var ciktiver = new String("");

var name, value;

for(var I = 0; I < aktifform.elements.length; I++){

name = aktifform.elements[I].name;

value = aktifform.elements[I].value;

ciktiver += escape(name) +'='+ encodeURIComponent(value) +'&';

}

var nesneiste = new yeni_nesne();

nesneiste.open("post", hedef, true);

nesneiste.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=iso-8859-9");

nesneiste.send(ciktiver);

nesneiste.onreadystatechange = function() {

if (nesneiste.readyState == 4 && nesneiste.status == 200) {

ekranayaz.innerHTML = nesneiste.responseText;

}

else { ekranayaz.innerHTML = ''; }

}

return false;

}

</script>


</head>

<body>

<form id="form" onSubmit="return AoL(this.id,'sonuc','ajax.asp')">

<label for="adsoyad">Adınız Soyadınız</label><br />

<input type="text" name="adsoyad" id="adsoyad" />

<input type="submit" value="Gönder" />

</form>

<div id="sonuc"></div><div id="sonuc">

</body>

</html>



<--ajax.asp nin içeriği-->



<%

response.charset = "iso-8859-9"

ad = request.form("adsoyad")

If ad="" then

response.write "Form Kutucuğunu Boş Bıraktınız"

Else

response.write "Forma Girilen Bilgi <strong><u>"&ad&"</u></strong>"

End If

%>

Ajax ile yapılan sayfalardaki en büyük sorun türkçe karakter sorunu bunu aşmanın en kolay yolu ajax'ın işlem yaptığı sayfanın başına response.charset = "iso-8859-9 kodunu eklememiz yeterli olacaktır