Merhaba Arkadaşlar,
Bu yazımda JQuery ile ajax işlemlerini anlatacağım.
Ajax bildiğiniz üzere artık bir web sayfasının olmazsa olmazları arasında. JQuery ile de ajax işlemlerini ek bir kütüphane kullanmadan çok rahat bir şekilde yapabilmekteyiz.
Anlatımı 3 başlık altında yapacağım. Bunlar
- Ajax istekleri (Ajax Request)
- Ajax Olayları (Ajax Events)
- Ajax Yardımcıları (misc.)
Ajax İstekleri
jquery.ajax(options) – En temel ajax isteğidir. Bir örnekle gösterelim
$.ajax({
type: "POST",
url: "deneme.aspx",
data: "ad=Turgay&soyad=Sahtiyan",
success: function(msg){
alert( "Gelen bilgi" + msg );
error:function(msg){
alert("hata" + msg)
}
});
- type = İsteğin şeklini belirler. POST veya GET değeri alabilir.
- url = İstek yapılacak sayfanın url sidir.
- data = Eğer sayfaya parametre göndereceksek burada belirtebiliriz.
- success = İstek başarılı olduğunda çalışacak fonksiyondur.
- error = İstek başarısız olduğunda çalışacak fonksiyondur.
load(url, [data], [callback]) – Url diye belirtilen sayfadan bilgileri çekip belirttiğimiz elemana atar.
Mesela linkler.aspx dosyasında ki bilgiyi linkler div ine yazmak için.
$("#linkler").load("linkler.aspx");
- url = İsteğin yapılacağı sayfanın url sidir.
- data = Eğer sayfaya parametre göndereceksek burada belirtebiliriz. Kullanılması zorunlu değildir.
- callback = İstek tamamlandığında çalışacak fonksiyondur. Kullanılması zorunlu değildir.
jQuery.get( url, [data], [callback], [type] ) – İstenilen sayfayı HTTP Get isteği ile yükler.
Mesela üstte load ile yaptığımız işlemi get ile yapalım. Linkler.aspx sayfamızda ki linktip i sinema olanları alıp linkler id li div e yazıyoruz.
$.get("linkler.aspx",
{ linkTip: "sinema" },
function(data){$(“#linkler”).html(data)}
);
- url = İsteğin yapılacağı sayfanın url sidir.
- data = Eğer sayfaya parametre göndereceksek burada belirtebiliriz. Kullanılması zorunlu değildir.
- callback = İstek tamamlandığında çalışacak fonksiyondur. Elemana atamayı burda yapıyoruz. Kullanılması zorunlu değildir.
- type = Dönen data nın tipini belirtmemize yarar. "xml", "html", "script", "json", "jsonp" veya "text" değerini alabilir.
jQuery.getJSON( url, [data], [callback] ) – HTTP Get metodu ile JSON Datası yüklemeye yarar. Parametre kullanımı aynıdır. JSON işlemlerine özel örnekler ileriki yazılarda detaylı anlatılacaktır.
jQuery.getScript( url, [callback] ) – Bir javascript dosyasını yükleyip çalıştırmaya yarar. Kullanımı şu şekildedir.
jQuery.post( url, [data], [callback], [type] ) - İstenilen sayfayı HTTP Post isteği ile yükler. Kullanımı Get ile aynıdır.
Ajax Olayları
ajaxComplete( callback ) – Herhangi bir ajax isteği tamamlandığında çalışır. Mesela sayfamızda ki mesaj id li div e bir ajax isteği sonuçlandığında bilgi yazalım.
$("#mesaj").ajaxComplete(function(event,request, settings){
$(this).append("<li>İstek Tamamlandı</li>");
});
ajaxError( callback ) - Herhangi bir ajax isteği hata verdiğinde çalışır. Kullanımı complete ile aynıdır.
ajaxSend( callback ) - Herhangi bir ajax isteği gönderilmeden hemen önce çalışır. Kullanımı complete ile aynıdır.
ajaxStart( callback ) - Herhangi bir ajax isteği başladığında çalışır. Kullanımı complete ile aynıdır.
ajaxStop( callback ) - Herhangi bir ajax isteği sonlandığında çalışır. Kullanımı complete ile aynıdır.
ajaxSuccess( callback ) - Herhangi bir ajax isteği başarılı olduğında çalışır. Kullanımı complete ile aynıdır.
Ajax Yardımcıları
jQuery.ajaxSetup( options ) – Ajax ayarlarını yapmamıza yarar. Sayfamızda kullandığımız ajax isteklerinin tamamında aynı bazı özellikleri kullanıyorsak bunları ajaxSetup ile bir kere yazabiliriz. Mesela bütün ajax isteklerimizde type özelliğini POST, dataType özelliğinide json kullanıyoruz. Bu durumda bunları her ajax isteğimizde yazmaktansa ajaxSetup ile belirleyebiliriz. Kodlarımızda azalmış olur:)
Kullanımı
$.ajaxSetup({
type: "POST",
dataType: "json"
});
serialize( ) – input elemanlarını parametre olarak kullanabilmek için serialize etmeye yarar. Örneğin form1 id li form umuzun içinde ad,soyad ve yas id li txt boxlar olsun. Ve bunlara da turgay,sahtiyan,29 bilgileri girilmiş olsun. Bu durumda aşağıda ki kodu yazdığımızda
sonuç olarak şu bilgiyi alabiliriz.
ad=Turgay&soyad=Sahtiyan&yas=29
Ne kadar kolay ve hızlı değil mi:)
serializeArray( ) – Serialize ile aynı işi yapar. Tek farkı json data döndürmesidir.
JQuery ile ajax işlemleri bu şekilde. İleriki yazılarımda bolca örnek yapacağım. O zaman daha iyi anlatabileceğime eminim:)
Daha fazla bilgiye JQuery sayfasından erişebilirsiniz.
Kolay Gelsin
Turgay Sahtiyan
8b65eb30-c88c-42f0-8230-e1dfbbadeede|7|4.4