Ajax ile resim yüklerken dikkat edilmesi gerekenler

Öncelikle bu yazı Ajax kullananlar için hazırlanmıştır, Ajax'ı temel düzeyde bildiğiniz farz edilir. Kısaca Ajax teknolojisi, sayfanın tamamının değil de sadece istenilen bir bölümünün yeniden yüklenmesi gerektiğinde kullanılır. Böylece bant genişliğinden, hızdan kazanç sağlanır.


Bu yazımızda bir formu POST metodu ile gönderirken bu form içinde FILE nesnesi kullanmış isek, serialize() metodunu kullanmamamız gerekmektedir. Bu metod, diğer tüm form nesnelerini sorunsuz aktarırken FILE nesnesini aktarmamaktadır.

Aşağıdaki iki kod bloğunu inceleyelim.

   Önce;

          $.ajax({
          type: "POST",
          url: "uyeduzelt2.php",
        
  data: $('#uyeduzeltform').serialize(), //bu kısım değişecek
          success: function(html) {
             
    //işlem başarılı ise yapılacaklar
      
        }
     });


Sonra;

        var form = $('#uyeduzeltform')[0];
        var formUyeDuzelt= new FormData(form);    

          $.ajax({
          type: "POST",
          url: "uyeduzelt2.php",

          enctype: 'multipart/form-data',
          processData: false,
          contentType: false,
          cache:false,
          data: formUyeDuzelt,

         success: function(html) {
             
    //işlem başarılı ise yapılacaklar
      
        }
     });


Gördüğünüz gibi  ilk kod bloğunda data parametresi değişmiştir, serialize() yöntemi kaldırılmıştır. Aşağıdaki iki satır eklenmiştir.

        var form = $('#uyeduzeltform')[0];
        var formUyeDuzelt= new FormData(form);   


Özellikle yazılan processData: false, contentType: false, çok önemli iki parametredir, verinin işleniş yöntemi ve içeriği hakkında gerekli parametrelerdir.

Aşağıdaki referanstan detaylı inceleyebilirsiniz.
http://api.jquery.com/jquery.ajax/

Mutlu kodlamalar,
Şubat 2018
Oğuzhan TAŞ
Bookmark and Share