<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Flashcentury &#187; XMLHttpRequest Dersleri</title>
	<atom:link href="http://blog.flashcentury.de/index.php/category/xmlhttprequest-dersleri/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.flashcentury.de</link>
	<description>Bir başka WordPress blogu.</description>
	<lastBuildDate>Mon, 18 Jan 2010 15:45:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>XMLHttpRequest ile Basit Bir Örnek Yapalim</title>
		<link>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-ile-basit-bir-ornek-yapalim.html</link>
		<comments>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-ile-basit-bir-ornek-yapalim.html#comments</comments>
		<pubDate>Sat, 04 Oct 2008 14:12:26 +0000</pubDate>
		<dc:creator>Huseyin Kocak</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[XMLHttpRequest Dersleri]]></category>
		<category><![CDATA[Asp]]></category>
		<category><![CDATA[Http]]></category>
		<category><![CDATA[Nesne]]></category>
		<category><![CDATA[Onblur]]></category>
		<category><![CDATA[onreadystatechange]]></category>
		<category><![CDATA[Örnek]]></category>
		<category><![CDATA[readyState]]></category>
		<category><![CDATA[Sifre Kontrol]]></category>
		<category><![CDATA[XMLHttpRequest]]></category>
		<category><![CDATA[XXX3]]></category>

		<guid isPermaLink="false">http://www.flashcentury.net/?p=271</guid>
		<description><![CDATA[Bir önceki dersimizde XMLHttpRequest &#8216;in ne oldugunu ve Javascript ile nasil XMLHttpRequest nesnesi cagirdigimizi anlatmistim. Simdi örnegimize devam ederek XMLHttpRequest nesnesini daha yakindan taniyalim. Böylece Ajax &#8216;in en önemli unsurlarindan biri olan XMLHttpRequest nesnesinin ne ise yaradigini iyice kavramis olacaksiniz.
Ilk olarak bir önceki derste gördügümüz gibi XMLHttpRequest nesnesini cagiralim ;

function durumaGoreNesne() {
var nesne;
var ziyaretciniTarayicisi = navigator.appName;
if(ziyaretciniTarayicisi [...]]]></description>
			<content:encoded><![CDATA[<p>Bir önceki dersimizde XMLHttpRequest &#8216;in <a href="http://www.flashcentury.net/index.php/ajax-dersleri/javascript-dersleri/xmlhttprequest-nedir.html">ne oldugunu</a> ve Javascript ile nasil XMLHttpRequest nesnesi cagirdigimizi anlatmistim. Simdi örnegimize devam ederek XMLHttpRequest nesnesini daha yakindan taniyalim. Böylece Ajax &#8216;in en önemli unsurlarindan biri olan XMLHttpRequest nesnesinin ne ise yaradigini iyice kavramis olacaksiniz.</p>
<p>Ilk olarak bir önceki derste gördügümüz gibi XMLHttpRequest nesnesini cagiralim ;<span id="more-271"></span></p>
<pre class="brush: jscript;">
function durumaGoreNesne() {
var nesne;
var ziyaretciniTarayicisi = navigator.appName;
if(ziyaretciniTarayicisi == &quot;Microsoft Internet Explorer&quot;){
nesne = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
}else{
nesne = new XMLHttpRequest();
}
return nesne;
}

var nesnemiz = durumaGoreNesne();
</pre>
<p>Burada atadigimiz <strong>nesnemiz</strong> isimli nesne bize XMLHttpRequest &#8216;in kapilarini acacak. </p>
<p>Simdi Ajax ile olabildigince basit bir sifre kontrolu yapalim.</p>
<p>ilk olarak html kodumuzu yapalim, bir form olusturalim</p>
<pre class="brush: xml;">

&lt;form accept-charset=&quot;UNKNOWN&quot; enctype=&quot;application/x-www-form-urlencoded&quot; method=&quot;get&quot;&gt;&lt;input name=&quot;sifre&quot; size=&quot;20&quot; type=&quot;text&quot; /&gt; &lt;/form&gt;</pre>
<p>Bir sifre isimli textbox olusturduk ve  <strong>onblur </strong>özelligine sifreKontrol diye bir fonksiyon atadik. Textbox &#8216;un Onblur özelligi sayasinde ziyearetci bir yazi yazip sonra mause ile ekranin herhangi bir yerine tikladiginda daha dogrusu textbox disina ciktiginda sifrekontrol() fonksiyonu harekete gececek.</p>
<p>Simdi <strong>sifreKontrol()</strong> fonksiyonunu hazirlayalim;</p>
<pre class="brush: jscript;">
function sifreKontrol() {
var sifreAl = document.formumuz.sifre.value;
nesnemiz.open('get', 'sifreKontrol.asp?sifre=' + sifreAl);
nesnemiz.onreadystatechange = kontrolSonucu;
nesnemiz.send(null);
}
}
</pre>
<p>Burada önceden taminladigimiz <strong>nesnemiz</strong> isimli XMLHttpRequest nesnesini open komutu ile actik ve sifre isimli <span style="color: #000000;"><strong>textbox</strong></span> &#8216;a yazilan veriyi <strong>get</strong> metoduyla gönderdik.</p>
<p>Kodumuzdan da anlayacaginiz üzere open komutu söyle bir kalipla diger sayfaya veri gönderiyor ;</p>
<p>nesne.<span style="color: #ff0000;">open</span>(<span style="color: #339966;">&#8216;method&#8217;</span>, <span style="color: #0000ff;">&#8216;gonderilecek sayfa</span>&#8216;);</p>
<p>Buradaki method post veya get olabilir bu sizin kodlamaniza göre degisebilir.</p>
<p>Kullandigimiz bir diger XMLHttpRequest metodu ise onreadystatechange &#8216;dir. onreadystatechange sunucu tarafinda bir degisiklik olursa algilar ve bize islem yapma kolayligi saglar. Yukaridaki koddaki görevi eger sifrekontrol.asp &#8216;ye gönderdigimiz veride bir degisiklik olursa <strong>kontrolSonucu()</strong> isimli fonksiyonu calistiracak.</p>
<p>Son olarak send ise kodumuzu tetikleyip open metoduyle actigimiz XMLHttpRequest yolunu harekete gecirir.</p>
<p>simdide <strong>kontloSonucu()</strong> sonucu fonksiyonumuzu yazalim ;</p>
<pre class="brush: jscript;">
function kontrolSonucu() {
if(nesnemiz.readyState == 4){
document.getElementById('sonuc').innerHTML = nesnemiz.responseText;
}
}</pre>
<p>Evet finale dogru yaklasiyoruz, burada XMLHttpRequest nesnesini bir diger metodu olan readyState karsimiza cikiyor. readyState gönderilen verinin durumunu kontrol eder ve 5 farkli durum vardir. </p>
<ul>
<li>readyState = <span style="color: #ff0000;">0</span> &#8212;&gt; islem baslatilamadi (hata var)</li>
<li>readyState = <span style="color: #ff0000;">1</span> &#8212;&gt; yükleniyor (Bu durumu loading uygulamasi icin bol bol kullanacagiz)</li>
<li>readyState = <span style="color: #ff0000;">2</span> &#8212;&gt; yüklendi</li>
<li>readyState = <span style="color: #ff0000;">3</span> &#8212;&gt; etkileşimli</li>
<li>readyState = <span style="color: #ff0000;">4</span> &#8212;&gt; tamamlandı (bu durum herseyin sorunsuz yapilip bittigini isaret eder)<br />
 </li>
</ul>
<p>Kodumuza geri dönelim, kontrolSonucu() fonksiyonu ilk etapta readyState araciligi ile XMLHttpRequest isleminin durumunu kontrol ediyor ve islem tamamlandi ise biraz sonra olusturacagimiz sonuc isimli Div &#8216;in icine durumu yazaaktir.</p>
<p>Simdi Sonucun yazilacagi Div &#8216;imizi olusturalim ;</p>
<pre class="brush: xml;">
</pre>
<p>iste bu kardar. Artik ana sayfaniz hazir diyebilirim simdi son olarak arkaplanda calisacak olan sifreKontrol.asp isimli dosyamizi hazirlayalim ;</p>
<p>[asp]<br />
Dim sifre<br />
sifre = request.QueryString(&#8220;sifre&#8221;)<br />
if sifre = &#8220;flashcentury&#8221; then<br />
Response.Write(&#8220;Sifreniz Dogru&#8221;)<br />
else<br />
Response.Write(&#8220;Sifre hatali&#8221;)<br />
end if<br />
[/asp]</p>
<p>Tabiki XMLHttpRequest nesnesini en kolay sekilde anlatabilme icin kodumuzu olabildigince basit bir halde sundum fakat Ajax dersleri ilerledikce cok daha kompleks kodlarla XMLHttpRequest nesnesini görecegiz.</p>
<p>Kodumuzun calisan versiyonununa <a title="Örnek Asp Versiyon" href="http://www.flashcentury.net/ornek/sifrekontrol.html" target="_blank">buradan</a> ulasabilirsiniz.</p>
<p>Not : yukarıda incelediğiniz örnek için <strong>şifre</strong> : <span style="color: #0000ff;">flashcentury</span></p>
<p>Ayrica ben bircok yerde bu tip konular Php ile anlatildigi ve Asp kaynak bulmak zor oldugu icin özellikle kodlamada Asp &#8216;yi tercih ettim fakat ayi kodu Php &#8216;ye cevirmek isterseniz buyrun ;</p>
<pre class="brush: php;">
sifre = $_GET(&quot;sifre&quot;);
if (sifre == &quot;flashcentury&quot;){
echo &quot;Sifreniz Dogru&quot;;
}else
echo &quot;Sifre Hatali&quot;;
}
</pre>
<p> ve yukarida open metoduyla cagirdigimiz asp dosyasinin uzantisini php yapiniz ;</p>
<pre class="brush: jscript;">nesnemiz.open('get', 'sifreKontrol.php?sifre=' + sifreAl);</pre>
<p>Calisan Php versiyonunu <a title="Şrnek Php versızon" href="http://www.flashcentury.net/ornek/sifrekontrol.html" target="_blank">buradan </a>inceleye bilirsiniz.</p>
<p>Not : yukarıda incelediğiniz örnek için <strong>şifre</strong> : <span style="color: #0000ff;">flashcentury</span></p>
<p>Ayrica kanak dosyalarini <a title="Örnek ASp Versiyon" href="http://www.flashcentury.net/ornek/sifrekontrol_ver_ASP.zip" target="_blank">Asp icin buraya</a> ve php <a title="Şrnek Php Versızon" href="http://www.flashcentury.net/ornek/sifrekontrol_ver_PHP.zip" target="_blank">icin buraya tiklayarak</a> ulasabilirsiniz.</p>
<p>Bir sonraki Ajax dersimizde XMLHttpRequest nesnesinin metotlarini inceleyegiz.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-ile-basit-bir-ornek-yapalim.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XMLHttpRequest Nedir ?</title>
		<link>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-nedir.html</link>
		<comments>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-nedir.html#comments</comments>
		<pubDate>Sat, 04 Oct 2008 03:29:16 +0000</pubDate>
		<dc:creator>Huseyin Kocak</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[XMLHttpRequest Dersleri]]></category>
		<category><![CDATA[ActiveX]]></category>
		<category><![CDATA[Client Side]]></category>
		<category><![CDATA[Google Suggest]]></category>
		<category><![CDATA[Nedir]]></category>
		<category><![CDATA[Nesne]]></category>
		<category><![CDATA[Postback]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[XMLHttpRequest]]></category>

		<guid isPermaLink="false">http://www.flashcentury.net/?p=267</guid>
		<description><![CDATA[Programcilarin yüzde doksani her ne kadar Microsoft &#8216;tu sevmesede (ki bu konuda bildigece.com &#8216;da bir tartisma baslatmistim) XMLHttpRequest Microsoft &#8216;un bize sundugu bir nimettir. Nimet dedim cünkü Ajax XMLHttpRequest sayesinde sanki bir masaüstü programi gibi davranir, istedigimiz herhangi bir islemi XMLHttpRequest sayesinde sayfa yenilemeden veya postback yapmadan saglariz. Microsoft ilk olarak Internet Explorer’ın 5.0 &#8216;da [...]]]></description>
			<content:encoded><![CDATA[<p>Programcilarin yüzde doksani her ne kadar Microsoft &#8216;tu sevmesede (ki bu konuda <a href="http://www.bildirgec.org/yazi/neden-insanlar-microsoft-a-gicik" target="_blank">bildigece.com &#8216;da bir tartisma</a> baslatmistim) XMLHttpRequest Microsoft &#8216;un bize sundugu bir nimettir. Nimet dedim cünkü Ajax XMLHttpRequest sayesinde sanki bir masaüstü programi gibi davranir, istedigimiz herhangi bir islemi XMLHttpRequest sayesinde sayfa yenilemeden veya postback yapmadan saglariz. <span id="more-267"></span>Microsoft ilk olarak Internet Explorer’ın 5.0 &#8216;da ActiveX bileşenini kullandi ve bu birlesen icinde bize XMLHttpRequest  nesnesi sunuldu yani ilk olarak XMLHttpRequest nesnesi ile Explorer’ın 5.0 &#8216;la tanistik akabinde Google tarafından (Google Suggest ile) popülerligi her gecen gün artti ve Mozilla 1.0 / Firefox, Opera 8+, Netscape 7, Safari 1.2 sürümlerine dahil edildi.</p>
<p>Bu kadar tarih bilgisinde sonra ne ise yarar bu XMLHttpRequest nesnesi deyip konuya derinlemesine dalalim ;</p>
<p>XMLHttpRequest sayfayi yenilemeye veya baska bir sayfaya gitmeye gerek kalmadan arka planda Client Side diye adlandirilan yani islemci tarafinda çalışır ve sizin isteginiz dogrultusunda bilgileri gönderir ve geri alir. Örnegin son zamanlarda bircok sitede görmüssünüzdür (örnegin wikipedia.org) arama kutusuna siz bir metin yazarsiniz ve her harfe tikladiginizda XMLHttpRequest nesnesi bilgiyi arkaplanda isler ve arama kutusuna benzer sonuclari cikarmaya calisir veya aradiginiz seyin devamini yazar. Tabi XMLHttpRequest ile yapilabilecekler bununla sinirli degil daha bircok sekilde kullaniliyor örnegin Google Maps; bildiniz gibi bu uygulama resimlerden olusur siz haritaya yakinlastirdiginizda daha yakindan cekilmis resim dosyasi ekranda görülür uzaklastikca daha uzaktan cekilmis resimi görürsünüz fakat bu islem ayni sayfa uzerinde gerceklesir ve hayretle bakariz.</p>
<p>Sanirim XMLHttpRequest nesnesinin ne oldugu konusunda bir fikir sahibi oldunuz simdi isin biraz daha teknik boyutuna girelim;</p>
<p>XMLHttpRequest &#8216;e mucizeler yarattiran sey tabiki Ajax &#8216;in bel kemigi Javascript &#8216;tir. Ilk zamanlar xml sistemiyle casilmasindan ötürü bu nesnenin adi XMLHttpRequest olsada su an Javascript ile cagirilip islem yapiyor.</p>
<p>Hadi bir XMLHttpRequest nesnesi cagiralim <img src='http://blog.flashcentury.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre class="brush: jscript;">nesne = new XMLHttpRequest();</pre>
<p>Fakat Microsoft yine dedigim dedik diyor ve standartin disina cikiyor ve nesnesini Internet explorer icin su sekilde cagiriyoruz ;</p>
<pre class="brush: jscript;">nesne = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);</pre>
<div>ve bu iki farkli nesne olusturma tekniginden dolayi kodumuz biraz uzuyor ve asagidaki sonuc ortaya cikiyor ;</div>
<pre class="brush: jscript;">function durumaGoreNesne() {
var nesne;
var ziyaretciniTarayicisi = navigator.appName;
if(ziyaretciniTarayicisi == &quot;Microsoft Internet Explorer&quot;){
nesne = new ActiveXObject(&quot;Microsoft.XMLHTTP&quot;);
}else{
nesne = new XMLHttpRequest();
}
return nesne;
}
var nesnemiz = durumaGoreNesne();</pre>
<p>Bu kodu dahada gelistirmemiz mümkün fakat ben basit haliyle bu sekilde kullanabiliriz.</p>
<p>Bir sonraki derste XMLHttpRequest <a href="http://www.flashcentury.net/index.php/ajax-dersleri/javascript-dersleri/xmlhttprequest-ile-basit-bir-ornek-yapalim.html">ile örnek calismamizi </a>yapacagiz.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.flashcentury.de/index.php/programlama/javascript-dersleri/xmlhttprequest-nedir.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

