Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer

En Çok Kullandığım AJAX Fonksiyonu

1 min read

Elimde ne varsa sizinle paylaşmaya devam ediyorum. jQuery ve AJAX ile güçlendirdiğim projelerimde en çok kullandığım fonksiyonu sizlere sunmak isterim.

Bu Javascript fonksiyonunun görevi form verilerini bir dosyaya göndermek ve dosyadan gelen cevaba göre işlem yapmak. Yani bildiğiniz AJAX. Müsadenizle önce kodu göstereyim, sonra kısa bir açıklama yapayım.

[sourcecode language=”js”]function ekle(){

//Form verileri gönderilmek için uygun formata dönüştürülüyor.
var sc = $(‘#yeni_kayit_formu’).serialize() ;

// #ekleniyor isimli div’de "Yükleniyor…" yazısı yazıyoruz.
$(‘#ekleniyor’).html(‘Yükleniyor…’);

$.ajax({
type: "POST",
url: "ekle.php",
data: sc,
success: function(msg){
if (msg=="ok")
{
//Dosyadan gelen cevap "ok" ise #ekleniyor isimli div’e "Kayıt Eklendi!" yazdırıyoruz.
$(‘#ekleniyor’).html("Kayıt Eklendi!");
}
else
{
//Dosyadan gelen cevap "ok" değil ise #ekleniyor isimli div’e gelen cevabı yazıyoruz.
$(‘#ekleniyor’).html( msg );
}
}
});
}[/sourcecode]
Uygulamanıza jQuery kütüphanesini dahil ettikten sonra bu fonksiyonu kullanarak bir PHP dosyasına veri gönderip gelen cevabı değerlendirebilirsiniz. Veri gönderilen PHP dosyası da şöyle olabilir.
[php]<?php
include(‘../../ayar.php’);

// Eğer ismini yazmamışsa $sonuc değişkeni "ok"’den farklı bir değer alıyor.
if ($_POST[‘isim’]==”) $sonuc="Lütfen başlık yazınız.";

if (!$sonuc)
{
$sql = "INSERT INTO kisiler VALUES ($_POST[isim])";
mysql_query($sql);

// Eğer ismini yazmışsa $sonuc değişkeni "ok" değerini alıyor.
$sonuc="ok";
}

// $sonuc değişkenini gönderiyor.
echo $sonuc;

?>[/php]
Yine kodun içinde gerekli açıklama mevcut.

Size kodu göstermek için girdileri en az ve basit seviyede tutmaya çalıştım. Lütfen güvenliği eksik, olmaz böyle şey falan gibi yorumlar yapmayın. Hepsinin farkındayım, farkındayız. Yeter ki konuyu öğrenmeye çalışan arkadaşlar işin mantığını anlasınlar ;)

Not: ytelefon | Yakuter Telefon Defteri Betiği isimli uygulamamda da bu kodun çalışan şeklini görebilir ve uygulamanın kaynak kodlarını indirerek dosyaları inceleyebilirsiniz.

Erhan Yakut Software Developer @Binalyze | Founder @Passwall | Golang Enthusiast | Open Sorcerer