CF Ajax Fonksiyonları CFAJAXPROXY
Gönderen : Candan Bilecen (3:46 PM)
0 yorum - Kategori : Ajax | Coldfusion | Javascript

<cfajaxproxy> : Coldfusion içerisinde hazır olarak kullanıma sunulmuş bu fonksiyon ile başka bir sayfada CFC şeklinde hazırlamış olduğumuz bir metodu kendi sayfamızda en basit şekilde kullanmamıza olanak sağlar. Üstelik her browser için farklı bir kod yazmamıza gerek kalmadan
Örnek : TextBox’ımıza girilen isimin veritabanımızda olup olmadığını kontrol edelim.
clientSide.cfm adında bir sayfa oluşturalım bu dosya içerisinde kontrol edilmesi istenen veriyi alıp bir başka sayfaya gönderilmesi ve gönderdiğimiz sayfadan dönen sonucun tekrar bu sayfada gösterilmesi için gerekli kodları yazalım.
<head>
<cfajaxproxy cfc="serverSide" jsclassname="ilkAjax">
<!---ilkAjax isminde bir cfajaxproxy oluşturduk çağrıldığında henüz oluşturmadığımız serverSide.cfc sayfasına gidecek.--->
<script>
var cfcAjax = new ilkAjax(); // cfcAjax adında bir değişken oluşturup ilkAjax adındaki cfajaxproxyimizi atıyoruz.
function kontrol()
{
var isim = ColdFusion.getElementValue('isim');
var sonuc = cfcAjax.kontrol(isim); /* cfcAjax artık henüz oluşturmadığımız serverSide.cfc içersindeki tüm fonksiyonlara erişebilir. bizde sercerSide.cfc içersindeki ‘ kontrol ‘ adlı fonksiyona ' isim ' adlı veriyi gönderiyoruz. */
alert(sonuc);
document.getElementById("sonuc").innerHTML = "<table><tr><td><a href="+sonuc+">"+sonuc+"</a></td></tr></table>";
}
</script>
</head>
<body>
<cfform name="ad">
<cfinput type="text" name="isim"><cfinput type="button" onClick="kontrol()" value="Tıkla" name="tikla"> <!--- clientSide.cfm içerisindeki Kontrol adındaki fonksiyonu çağırıyoruz--->
<div id="sonuc"></div>
</cfform>
<br>
<br>
<!---Kontrol edeceğimiz ad için ColdFusion içerisinde standart olarak bulunan cfArtGallery veritabanını kullanıyorum ve kontrol edebilmemiz için verileri listeliyorum --->
<cfdbinfo type="tables" datasource="cfartgallery" name="dbdata"><!---cfartgallery içersindeki tabloların adlarını alıyoruz--->
<cfquery name="artistler" datasource="cfArtGallery"><!---cfartgallery içersindeki artists tablosundaki verileri alıyoruz--->
select * from artists
</cfquery>
cfartgallery içersindeki tablo isimleri :
<br>
<cfdump var="#dbdata#">
<br>
artists tablosundaki veriler :
<br>
<cfdump var="#artistler#">
</body>
clientSide.cfm ‘den gönderilen verileri kontrol edeceğimiz ve tekrar clientSide.cfm ‘ e geri göndereceğimiz serverSide.cfc adında bir sayfa oluşturalım.Bu sayfa clientSide.cfm ‘in aksine Sunucu tarafında çalışacaktır.
<!--- kontrol adında bir fonksiyon oluşturup gelen veriyi kontrol ettikten sonra clientSide.cfm'e kullanıcı mevcut veya kullanıcı yok şeklinde bir mesaj döndürüyoruz. --->
<cffunction name="kontrol" access="remote" output="no" returntype="string">
<cfargument name="isim" required="no" type="string">
<cfquery name="ara" datasource="cfArtGallery">
SELECT firstname FROM artists where firstname LIKE '#isim#'
</cfquery>
<cftry>
<cfif ara.recordcount GT 0 >
<cfreturn "Kullanıcı Mevcut">
<cfelse>
<cfreturn "Kullanıcı Yok">
</cfif>
<cfcatch>
<cfreturn "Hata">
</cfcatch>
</cftry>
</cffunction>
servSide.cfc adındaki sayfamızıda tamamladıktan sonra web sitemiz çalıştırılmaya hazır.



