folder Tahribat.com Forumları
linefolder Html - CSS - XML - JavaScript - Ajax
linefolder $.Getjson Fonksiyonunu Return Döndürmüyor?



$.Getjson Fonksiyonunu Return Döndürmüyor?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    Su json dosyasindan ver almak istiyorum.

    http://videoapi.my.mail.ru/videos/mail/hdfullfilmizlesene/_myvideo/866.json  ->> üzerine tiklayinca acilmiyor, browserinize kopyalarsaniz icerigi görebilirsiniz!

    su sekilde kod yazdim:

    function jsonoku(jsonlink){

    var link='';
    $.getJSON(jsonlink, function(data){
        $.each(data.videos,function(i,film)
     { 
     
         if(film.key=='480p')
       {
             link=film.url;
             alert('480p Kalitedeki Linki: '+link);
             return link;
       }

    });
    });

    };

     

     

    Film kalistesi 480p olan url'u alert yaziyor, fakat return komutu link degiskenini döndürmüyor.

    ben bu $.getJSON fonksiyonundan veriyi nasil retrun edereim?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    pSkpt
    pSkpt's avatar
    Kayıt Tarihi: 10/Aralık/2010
    Erkek

    Eğer başka bir fonksiyon içersinde kullanacaksan,

    return link; yerine link_kullan(link);

    yazarsan o fonksiyona linki göndermiş olursun

    function link_kullan(link){

    link.kullaniyorum;

    }

     

    şeklinde de bir fonksiyon oluşturursun istediğini yaparsın.


    İmza...
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    zaten baska bir funktion icinden cagiriyorum bu jsonoku fonksiyonu.

    su sekilde

    function test()
    
    {
    
    var jsondosyam ='http://videoapi.my.mail.ru/videos/mail/hdfullfilmizlesene/_myvideo/866.json';
    
    var gelenveri = jsonoku(jsondosyam);    -->> burada asagidaki funktiondan return value istiyorum
    
    alert(gelenveri);   
    
    }
    function jsonoku(jsonlink){
    $.getJSON(jsonlink, function(data){
        $.each(data.videos,function(i,film)
     { 
     
         if(film.key=='480p')
       {
             link=film.url;
             alert('480p Kalitedeki Linki: '+link);
             return link;              ----->>>>>>>>> ama bu return gitmiyor ben bu link degiskenini nasil alabilirim?
       }
    
    });
    });
    
    };
    
    
     
    

     

    Kanakan tarafından 21/Nis/15 17:06 tarihinde düzenlenmiştir
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    camarade
    ontedi
    ontedi's avatar
    Kayıt Tarihi: 04/Eylül/2005
    Erkek

    Yaptığın kodları bir fonksiyon içerisine alıp return etmeyi dene.

     

            function fn() {
                var strDeger = "";
                $.getJSON(jsonlink, function (data) {
                    $.each(data.videos, function (i, film) {
                        if (film.key == '480p') {
                            link = film.url;
                            //alert('480p Kalitedeki Linki: '+link);
                            strDeger = link;
                        }
                    });
                });
                return strDeger;
            }
    ontedi tarafından 21/Nis/15 09:21 tarihinde düzenlenmiştir

    Matematikçi ve Yazılımcı. http://www.ontedi.com ve http://www.cizgi.site Siteme beklerim herkesi.
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    verdigim Kodlara iyi bakarsan kodlarin zaten bir Fonksiyon icinde oldugunu göreceksin, sanirim gözden kacirdin.

    function jsonoku(jsonlink){
    $.getJSON(jsonlink, function(data){
        $.each(data.videos,function(i,film)
     { 
        if(film.key=='480p')
       {
             link=film.url;
             alert('480p Kalitedeki Linki: '+link);
             return link;              ----->>>>>>>>> ama bu return gitmiyor ben bu link degiskenini nasil alabilirim?
       }
    });
    });
    
    };

    senin azdigin seklinde denedim yine return dönmüyor.
    Bu bu türevdeki functionlar kendi içlerinde veri döndürüyorlarmis sadece, ama cözümüde muhakkak olmali!

     

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    Kanakan bunu yazdı

     

    Hocam;

    var link; diye global tanımla, fonksiyonun dışına

    Sonra fonskiyonu call ettikten sonra işi bitince link' i kullanırsın


    Hello, i am nothing. I come from Neverland.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    glabol degiskende denedim olmuyor.

    Disari veri vermiyor bu funktion.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    Kanakan bunu yazdı

    glabol degiskende denedim olmuyor.

    Disari veri vermiyor bu funktion.

    asenkron çalışıyor sanırım,

    ajax metodu kullanıyorsan içine;

    async: false diye ekleyip dener misin?


    Hello, i am nothing. I come from Neverland.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    bak su sekilde denedim yine olmuyor.Return undefined gönderiyor

     function jsonoku(jsonlink){ 
    var cevap = $.ajax({
     dataType: "json",
     async: false,
     url: jsonlink
     });
     //burda cevap.status kontrol edilip işlem başarılı olmadıysa farklı bişey dönülebilir.
     return cevap.responseJSON;
     //return jQuery.parseJSON(cevap.responseText); //responseJSON boş geliyorsa elle json parse edilebilir.
    };

    son satiri kullanirsam su sekilde
    return jQuery.parseJSON(cevap.responseText); //responseJSON boş geliyorsa elle json parse edilebilir.

    bu seferde object Object dönüyor!!
    Kanakan tarafından 21/Nis/15 17:22 tarihinde düzenlenmiştir
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ozgunlu
    ozgunlu's avatar
    Banlanmış Üye
    Kayıt Tarihi: 11/Kasım/2011
    Erkek
    Kanakan bunu yazdı

    bak su sekilde denedim yine olmuyor.Return undefined gönderiyor

     function jsonoku(jsonlink){ 
    var cevap = $.ajax({
     dataType: "json",
     async: false,
     url: jsonlink
     });
     //burda cevap.status kontrol edilip işlem başarılı olmadıysa farklı bişey dönülebilir.
     return cevap.responseJSON;
     //return jQuery.parseJSON(cevap.responseText); //responseJSON boş geliyorsa elle json parse edilebilir.
    };

    hocam async çalışıyor o metot, sen onu call ettiğinde o daha veriyi döndürmediğinden boş görünüyor. böyle false yapınca olacağını söylemişler. ama link' i var link diye fonk dışında en tepede tanımlaman gerekiyo.

     

    sonra return etmene gerke yok

    ozgunlu tarafından 21/Nis/15 17:21 tarihinde düzenlenmiştir

    Hello, i am nothing. I come from Neverland.
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Kanakan
    Kanakan's avatar
    Kayıt Tarihi: 21/Aralık/2014
    Erkek

    var cevap;   degiskenini en yuarda global mi tanimlamam gerek?

    bir örnek yazsaniz sevinirim.

Toplam Hit: 5458 Toplam Mesaj: 76