Merhaba,

Yaptığı işlerde AJAX üzerinden veri aktarımını tercih eden bir programcı olarak yakın zamanda karşılaştığım bir sıkıntının çözümünü makale olarak eklemeyi tercih ettim.

Aynı zamanda, bu makale bir nev'î, başka bir makalenin tercümesi olarak kabul edilebilir. Zira burada vermek istediğim bilgilerin teferruatlı halini orada bulmak mümkün. Elbette mevzu-ı bahs olan bu makalenin referansını yazının sonunda bulabilirsiniz.

Gelelim mevzuumuza; 

AJAX üzerinden server ile haberleşiyor ve server tarafında da ASP.NET MVC kullanıyorsanız, server'a bilgi olarak aşağıdaki şekilde bir array gönderdiğinizde hata almanız muhakkaktır.


var Sayilar = [1,2,3,4];

Dilerseniz bunu bir örnekle daha da açalım.

Client tarafında;


$("#Gonder").on("click", function () {
      var Sayilar = [1, 2, 3, 4];

      $.ajax({
            url: "/Home/DegerleriKaydet",
            data: { sayilar: Sayilar },
            type: "POST",
            success: function (returnData) {
                  alert(returnData);
            }
      });
});
ve server tarafında da;

[HttpPost]
public JsonResult DegerleriKaydet(IEnumerable sayilar)
{
      return Json(sayilar);
}

kodlarının bulunduğunu farzedelim.

Bu halde iken server tarafına gönderdiğiniz kodlar ulaşmayacaktır. Bu problemi gidermek için yapmanız gereken tek şey ise client tarafındaki kodu şu şekilde değiştirmek olacaktır:


$("#Gonder").on("click", function () {
      var Sayilar = [1, 2, 3, 4];

      $.ajax({
            url: "/Home/DegerleriKaydet",
            data: { sayilar: Sayilar },
            type: "POST",
            traditional: true,       // Eklenen satır
            success: function (returnData) {
                  alert(returnData);
            }
      });
});

Kodu bu şekilde değiştirdikten sonra gönderdiğiniz bilgiler doğru şekilde server tarafına ulaşacaktır.

Ümid ederim, faydalı olur.

Bu makaleye kaynaklık eden diğer makaleye de şu linkten ulaşabilirsiniz:

BINDING JS ARRAY TO C# LIST IN ASP.NET MVC

Bir sonraki makaleye kadar, hoşçakalın...

Yorumlar

Yorum Eklenmemiş...

Yorum Yaz

Adınız: *
E-Mail Adresiniz: *
Web Sitesi:
Yorum: *
Güvenlik Kodu: *
 
Tavsiye
Bağlantılar