MVC Ajax POST – Response Obje Kullanımı

3.067

Hepimizin bildiği gibi web uygulamalarının çalışma mantığı Request – Response ilişkisine dayanmaktadır. İstemci üzerinden gönderilen istek sunucuya düşer, sunucuda işlemler gerçekleştirildikten sonra istemciyi yapılan işlemden haberdar etmek adına cevap gelir. Örneğin güncelleme işleminden sonra sunucu üzerinde değişen verinin kullanıcıya gösterilmesi için sayfanın yenilenip güncel verinin ekrana getirilmesi gerekmektedir. Fakat sayfa yenilenmesi her zaman istenilen bir durum değildir. Bazı durumlarda sayfanın belirli bir bölümünü yenilemek isteyebiliriz, bu durumda sayfanın veya PartialView’ın yeniden yüklenmesi istenmeyen durumdur. Bu istenmeyen durumdan bizi kurtaran Ajax’ı inceleyelim. Ajax , sayfayı yenilemeden içerik değiştirmemizi sağlayan JQuery kütüphanesidir. Get ve Post olarak kullanımları mevcuttur. Bu makalemizde MVC üzerinde Ajax kullanımını örnekleyeceğiz. JSonResult’ların client-side üzerinde daha anlamlı hale gelmesi ve işlenebilmesi için standart bir modelimiz olacak.

Bir web uygulamasında Ajax ‘ın öncelikli kullanım yerleri CRUD işlemleri (Select ,Insert, Update, Delete) ve PartialView’ların çağrılması diyebiliriz. Bu işlemlerin sonucunda client tarafını yapılan işlemden bazı dönüşlerimizin olması gerekir. Basitçe bir response objesi tasarlayacak olursak;

  • İşlem başarılı mı ?  
    Gerçekleştirilen işlemin durumunu belirlediğimiz bir değer olmalı.
  • İşlem sonucunda bilgilendirme mesajı
    Sunucu taraflı işimiz bittiğinde kullanıcıyı bilgilendirmeliyiz.
  • Veri dönüşümüz var mı ? 
    Bazı işlemlerin sonucunda geriye veri dönmemiz gerekir. Örneğin sunucu taraflı bir validasyon işleminde hatalar ekranda listelenmek isteniyorsa metot veri dönüşü yapabilir.

 

Metot dönüşlerimizi yapacağımız Model’ i oluşturalım. Yukarıda belirttiğim kriterleri karşılayacak şekilde ResultType , Message , Data değişkenlerinden oluşan OperationResult modeli aşağıdaki gibidir.

Dönüş tipimizi Enum değer ile ifade edeceğiz.

ViewModel’limizi oluşturalım

 

Ajax Şemasını tanıyalım

 

cshtml

 

Controller

Konunun özetine bakacak olursak ,
Ajax ile web sayfalarımız üzerinden server ‘ a POST işlemi gerçekleştirdik. Server taraflı dönüşümüz için bir standart belirledik.Dikkat ettiyseniz Controller metodundan geriye json obje dönüşü yapıyoruz ve script tarafında dönüşümüzü yine obje olarak ele alıyoruz. Bu sayede karmaşıklığı azaltıp okunabilirlik ve yönetilebilirliği arttırmış olduk.

Yorum yaz

Email adresiniz yayınlanmayacaktır.