PHP den JavaScript e AJAX ile değişken ve veri gönderimi

Bugün PHP yani server tarafından, JavaScript’e yani client tarafına veri ve değişken gönderiminde kullanılan yöntemlerden AJAX kullanımını anlatmaya çalışacağım.

Bir önceki yazımda server-side programlama ile client-side programlama arasındaki farkları konuşmuştum. O yazıma şu linkten ulaşabilirsiniz. Bu işlem için kullanabileceğimiz 3 yöntem olduğunu söylemem lazım, bugün biz AJAX yöntemine bakacağız.

Bu metot bence ve bir çok yazılımcıya göre bu işi yapabileceğiniz en mantıklı yol olabilir, tabi kullanım senaryolarına göre değişebilir ama bu yöntem ile server ve client tarafındaki scriptlerimiz tamamen ayrı kalabilmektedir.

Ayrı kalmasının ne önemi var diyebilirsiniz, örneğin PHP kullanmayı bıraktınız ve başka bir server-side servisine (Perl, Rest API, gibi) geçmek istediğinizde JavaScript kodlarınızı çok fazla değiştirmenize gerek kalmaz.

Bu yöntemin bir güzel tarafı da Asekron veri transferine izin vermesidir. PHP‘den veri almak zaman ve kaynak bazlı olarak fazla kaynağa ihtiyaç duyabilir ve veri gelene kadar sitenize veya uygulamanıza giren insanları bekletmek istemezsiniz, AJAX ile sayfanız verinin ulaşmasını beklemez yüklenmek için, yüklenir ve veri ne zaman gelirse o zaman işleme girer.

Tabi iyi yönleri olduğu gibi bazı dezavantajları da vardır AJAX kullanmanın, bunlardan ilki verinin gecikmesidir. Sebebi ise AJAX‘ın HTTP request oluşturması ve HTTP Requestler network üzerinden taşındıkları için network bazlı gecikmeler yaşanabilmektedir.

Ufak bir örnekle AJAX nasıl kullanılıyor bakalım.

veri-al.php

1
2
3
4
5
6
7
8
9
10
11
12
      /* Yapılan işlemler, database ile bağlantı, sessionlar vb
işlemler yapıldığını düşünelim kodun üst kısmında

AJAX genelde string kullanır ama JSON, HTML
ve XML gibi verileri de gönderebilirsiniz, bu sizin
AJAX request ile göndereceğiniz içerik-tip headerına bağlı. */

echo json_encode(83); // Bütün işlemlerden sonra sonucunuzu
// echo lamanız gerekmekte.

// json_encode() ile PHP'de her tür değeri döndürebilirsiniz,
// array, string ve objectler. Şuan biz 83 yolladık.

index.php (burası asıl sayfanızın kodlarının olduğu kısım, veriyi alacak script)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<script>
    function requestListener() {
      console.log(this.textYanit);
    }

    var objectRequest = new XMLHttpRequest(); // yeni bir object request'i oluşturduk
    objectRequest.onload = function() {
        // Burası aldığınız veriyle yapılacak işlemler kısmı.
        // asıl verimiz şuan this.textYanit ın içinde.
        alert(this.textYanit); // biz 83 yolladığımız için 83'ü alert edecek.
    };
    objectRequest.open("get", "veri-al.php", true);
           /*
           open() metotunun 3. parametresini true yaparak,
           request bitene kadar beklememesini söyledik
           yani geri kalan işlemlere devam etmesini.
           */
    objectRequest.send();
</script>

Bugün PHP ile JavaScript arasında veri yollamak için kullanılan AJAX kullanımına ufaktan baktık, umarım yararlı olabilmiştir. İyi kodlar dilerim dostlar.

ahmet

Ahmet Kılınç - Software Developer

Bunlar da hoşunuza gidebilir...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.