• 10-03-2020, 00:51:29
    #1
    Merhaba iyi akşamlar. Bir konuda takıldım ve yardımınıza ihtiyacım var. Bir fonksiyonum var bunun görevi de şu; her çağırdığımda veri tabanında bulunan api kodunu bana getiriyor ya da güncelliyor ancak bir türlü sonuç döndüremedim. Fonksiyon içerisindeki ajax success kısmında console.log yaparsam sonuç var ancak bu sonuç bir türlü function dışına çıkmıyor. Nasıl yapabilirim bir bilginiz var mı. Teşekkürler.

  • 10-03-2020, 00:56:54
    #2
    aşağıdaki örnekteki gibi denersen olması lazım.

    var return_first = function () {
    var tmp = null;
    $.ajax({
    'async': false,
    'type': "POST",
    'global': false,
    'dataType': 'html',
    'url': "ajax.php?first",
    'data': { 'request': "" },
    'success': function (data) {
    tmp = data;
    }
    });
    return tmp;
    }();
  • 10-03-2020, 01:01:30
    #3
    ztk
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Ajax isteği asenkron olduğu için ordan cevabı return edemezsin.
    Callback kullanarak şöyle yapabilirsin:

    function api(type, callback) {
        $.ajax({
            //....
            success: function(data) {
                callback(data);
            }
            //..
        });
    }
    Sonra çağırırken.
    api( type, function(data)  {
     // artık data burda
    })
  • 10-03-2020, 01:03:07
    #4
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    aşağıdaki örnekteki gibi denersen olması lazım.
    var return_first = function () {
    var tmp = null;
    $.ajax({
    'async': false,
    'type': "POST",
    'global': false,
    'dataType': 'html',
    'url': "ajax.php?first",
    'data': { 'request': "", 'target': 'arrange_url', 'method': 'method_target' },
    'success': function (data) {
    tmp = data;
    }
    });
    return tmp;
    }();
    ztk adlı üyeden alıntı: mesajı görüntüle
    Ajax isteği asenkron olduğu için ordan cevabı return edemezsin.
    Callback kullanarak şöyle yapabilirsin:

    function api(type, callback) {
        $.ajax({
            //....
            success: function(data) {
                callback(data);
            }
            //..
        });
    }
    Sonra çağırırken.
    api( type, function(data)  {
     // artık data burda
    })
    Yardımlarınız için çok çok teşekkür ederim yarın sabah ilk iş deneyeceğim. Sağ olun.
  • 10-03-2020, 01:08:39
    #5
    iki yöntemde çalışır. ister benim gösterdiğim gibi function içinde değişkene atayıp döndür, istersen callback yöntemi ile döndür.
  • 10-03-2020, 11:01:24
    #6
    MCERAN adlı üyeden alıntı: mesajı görüntüle
    iki yöntemde çalışır. ister benim gösterdiğim gibi function içinde değişkene atayıp döndür, istersen callback yöntemi ile döndür.
    Her iki yöntemi de denedim ikisi de çok iyi çalışıyor ancak benim istediğim şekilde 1. örnekteki gibi "async: false" ile çalıştı. Hepinize tekrardan çok teşekkür ederim vaktinizi ayırıp yardımcı oldunuz sayenizde çözdüm. Çok sağ olun.