Ajax Ve Json (Problem)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    overbite
    overbite's avatar
    Kayıt Tarihi: 13/Ağustos/2011
    Erkek

    Merhaba arkadaşlar, ajax ile bir php sayfaya post ile veri gönderiyorum, php de json gönderiyor. gelen json'u istediğim gibi kullanamıyorum.

    cat.php dosyamın ilgili kısmı şöyle

    $sql = mysql_query("SELECT * FROM categories");
    $cat = array();
    while ($row = mysql_fetch_assoc($sql)) {
         array_push($cat, $row );
    }
    echo json_encode($cat);

    :

    ajax ise şöyle:

    $.ajax({
    type: "POST",
    url: "cat.php",
    data: {'process':'edit','type':'del','catid':idid},
    datatype: "text",
    success:function(result) { $('#cats').append(result+"<br>"); }
    });

    bu şekilde gelen veriyi #cats id'li div'e yazdırıyorum, çıktı şu şekilde:

    [{"catid":"8","catname":"Dokuzuncu Kategori","parent":"0"}]


    şimdi diyeceksiniz ki $.each kullanman lazım, onu da ajax'ın success kısmını şöyle değiştirerek yapıyorum:

    success:function(result) {
        $.each(result, function(key, value){
            $('#cats').append(key+"-"+value);
        });
    }

    bu sefer çıktı şöyle oluyor:

    0-[1-{2-"3-c4-a5-t6-i7-d8-"9-:10-"11-812-"13-,14-"15-c16-a17-t18-n19-a20-m21-e22-"23-:24-"25-D26-o27-k28-u29-z30-u31-n32-c33-u34- 35-K36-a37-t38-e39-g40-o41-r42-i43-"44-,45-"46-p47-a48-r49-e50-n51-t52-"53-:54-"55-056-"57-}58-]


    değişik değişik şeyler deniyorum bu success içinde ama bi türlü düzgün bir veri alamadım, mesela sadece gelen json'dan catid'i yazdırmak istiyorum olmuyor

     


    ulan bir susar mısın?
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    wking
    wking's avatar
    Kayıt Tarihi: 28/Mart/2010
    Erkek

    Dönen veriyi parse etmen lazım.

    var parsedData = $.parseJSON(result.d);

    Ardından parsedData değişkenini foreach ile dönebilirsin.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Austen
    Austen's avatar
    Kayıt Tarihi: 13/Ağustos/2012
    Erkek

    Datatype bölümünü json yapıp daha sonra dönen sonucta result.catid şeklinde gösterebilirsin.

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    overbite
    overbite's avatar
    Kayıt Tarihi: 13/Ağustos/2011
    Erkek

    @slothere:  daha önce datatype: "json" şeklinde de denemiştim, hatta tekrar denedim olmadı, datatype: "text json" da denemiştim o da yemedi,

    @wking: sağolasn hocam düzeldi parse edince, şu an kod şöyle:

    success:function(result) {
    var parsedData = $.parseJSON(result);
    $.each(parsedData, function(key, value){
         $.each(value, function (key, value) {
              $('#cats').append(key+"-"+value+"<br>");
         });
     });
    }

    çıktısı da şöyle:

    catid-8
    catname-Dokuzuncu Kategori
    parent-0


    ulan bir susar mısın?
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SharpShooter
    SharpShooter's avatar
    Banlanmış Üye
    Kayıt Tarihi: 10/Temmuz/2008
    Erkek

    this ile çek hacım each içinde.

    this.Catid gibi


    - xx yerde hata var. - ya aslında kod şöyle sanıyor olabilir bla bla bla - olm kendine gel kodlar düşünmez - ...
Toplam Hit: 1311 Toplam Mesaj: 5