ASP.Net Web Programlama Javascript

JS Ajax Post ve Get

Asp.net mvc ortamı için hazırladığım örnek bir ajax istemi şeklini sizinle paylaşacağım. Projeye özel kolaylık düzenlemeleri yapmaya müsaittir. Uzun zamandır altını çizmiyorum. Bu siteden bir gelirim bulunmamaktadır. Kendime basit işlerde kolay kopyala yapıştır yapabileceğim bir kaynak oluşturmak için blog tutmaktayım. Yeni bir şey icat etmiyorum.

//Get isteği

function MyGet(controller, action, parameter, paramval, ReturnFunc) {
    let liburl = liburl = "/" + window.location.href.split('/')[window.location.href.split('/').length - 2];
    
    liburl += "/" + controller + "/" + action + "?" + parameter + "=" + paramval;
    let xhr = new XMLHttpRequest();
    xhr.open("GET", liburl, false);
    xhr.onerror = function (e) {
        console.log(e);
    };
    xhr.send(null);
    if (xhr.status === 200) {
        let resultObject = JSON.parse(xhr.responseText);
        ReturnFunc(resultObject);
    }
}

Yukarıdaki kodun çağrımı aşağıdaki şekilde yapılmaktadır.

MyGet("Controller_adi", "ActionResult_Metod_Adi", "Metot_parametre_adi", MetodParametresineGonderilenDeger, function (islem_sonucu) {
     //islem_sonucu Json() veya Content(result, "application/json") olaran dönen contoller metodunun değerini alır. Bununla ilgili islemler burada yapılabilir veya global bir değere yüklenerek scope dışında işlenebilir. Bu metot asenkron çalışmaz.
 });
//Post isteği

function MyPost(controller, action, parameter, formDatas, ReturnFunc) {
    let liburl  = "/" + window.location.href.split('/')[window.location.href.split('/').length - 2];
    }
    liburl += "/" + controller + "/" + action;
    var xhr = new XMLHttpRequest();
    xhr.open("POST", liburl, false);
    xhr.onerror = function (e) {
        console.log(e);
    };
    let formData = new FormData();
    let fdParse = JSON.parse(formDatas);
    let fdString = JSON.stringify(fdParse);
    formData.append(parameter, fdString);
    xhr.send(formData);
    if (xhr.status === 200) {
        let resultObject = JSON.parse(xhr.responseText);
        ReturnFunc(resultObject);
    }
}

Yukarıdaki Post isteğinin çağrımı aşağıdaki gibidir

MyPost("Controller_adi", "ActionResult_Metod_Adi", "Metot_parametre_adi", MetodParametresineGonderilenDeger, function (islem_sonucu) {
     //islem_sonucu Json() veya Content(result, "application/json") olaran dönen contoller metodunun değerini alır. Bununla ilgili islemler burada yapılabilir veya global bir değere yüklenerek scope dışında işlenebilir. Bu metot asenkron çalışmaz.

Bir cevap yazın

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