v2.5.2
Giriş yap

Ajax Callback

munzevi
475 defa görüntülendi

Merhaba,

ajax ile istek tamamlandıktan ve yanıt alındıktan sonra, dönen obje değerlerinden bir fonksiyon başlatmak istiyorum ancak tam olarak syntaxı anlamadığım için nasıl yazmam gerektiğinden emin değilim.

{
    sinif: "app",
    method: "methodAdi",
    parametreler: ["parametre1", "parametre2"]
}

dönen değerlerin böyle olduğunu varsayabiliriz.

app.methodAdi(parametre1, parametre2);

düşüncede güzel ama, nasıl?

ebykdrms
949 gün önce

Merhaba,

Ajax isteği sonucunda size metod adı ve parametreler dönüyor ama fonksiyonu ne iş yaptığı dönmüyorsa sanırım bu fonksyonlar sizin sitenizde önceden hazırlanmış olarak bekliyorlar. Siz sadece ajax isteği sonucunda hangi fonksiyonun hangi parametrelerle çalışacağını belirlemeye çalışıyorsunuz. Eğer durum buysa, fonksiyonlarınızı şu şekilde tanımladığınızı varsayalım:

var app = {
    merhabaYazdir: function(parametreler=[]) {
        var parametreSayisi = parametreler.length;
        var ad = parametreSayisi>0 ? parametreler[0] : "";
        var soyad = parametreSayisi>1 parameterler[1]; : "";
        
        console.log("Merhaba "+ad+" "+soyad);
    },
    hoscakalYazdir: function(parametreler) {
        var parametreSayisi = parametreler.length;
        var ad = parametreSayisi>0 ? parametreler[0] : "";
        var soyad = parametreSayisi>1 parameterler[1]; : "";
        
        console.log("Hoşçakal "+ad+" "+soyad);
    }
}

Şimdi ajax'tan şöyle bir sonuç geldi diyelim:

{
    "sinif": "app",
    "method": "merhabaYazdir",
    "parametreler": ["Adım", "Soyadım"]
}

Bu durumda ajax'ın success fonksiyonunda şu şekilde bir yazım, fonksiyonu çalıştıracaktır:

function success(response) {
    window[response.sinif][response.method](response.parametreler);
}