v2.5.2
Giriş yap

Php ile aldığımız veriyi json dönüştürüp jquery de okuma sorunu

hakankorkz
844 defa görüntülendi

Merhaba arkadaşlar Php ile veri tabanından çektiğim veriyi jquery ile okumak istediğim de patlıyorum acaba neden patlıyorum. umarım sorum anlaşılır olmuştur kodlarım aşağı da...

PHP

   
$cevap['mesaj'] = 'test';

json_encode($cevap);


JS

   
      $(document).ready(function () {

        var veri = JSON.parse(cevap);

        var sonuc = veri.mesaj;

        console.log(sonuc);

    });

Cevap yaz
Cevaplar (4)
tayfunerbilen
1439 gün önce

jquery'de $.getJSON() ya da $.get() kullan. Örneğin;

<?php
// api.php

$cevap = [];
$cevap['mesaj'] = 'Ben apiden gelen mesajım';
echo json_encode($cevap);

ve jquery kodların bu sayfaya istek atmalı.

// app.js
$(function(){
    
    $.get('api.php', function(response){
        alert(response.mesaj);
    }, 'json');
    
    // ya da
    $.getJSON('api.php', function(response){
        alert(response.mesaj);
    });
    
})

Not: api.php ile app.js dosyan aynı dizinde ise verdiğim örnek çalışır, api.php hangi dizindeyse ona göre istek atmayı unutma.

hakankorkz
1417 gün önce

Herkesin bu güzel yorumları için çok çok teşekür ederim problemi sayenizde çözdüm günler sonra

justatakan
1439 gün önce

Zaten #002920 kodlu cevap soruyu çözüme kavuşturmaya yetiyor. Fakat ben de fetch ile bir örneğimi aşağıya ekledim. Belki bir alternatif ararsın diye jQuery olmadan bu yöntemle de api.php dosyana istek gönderebilirsin.

// app.js
(async () => {

    let result = await fetch("api.php", {
        headers: {
            "method": "GET",
            "Content-Type": "application/json"
        }
    })
    .then(res => res.json())
    .catch(e => console.error(e))

    alert(result.mesaj);

})();
trsherlock
1439 gün önce

Belirttiğin kodlar eksik nasıl yaptığını bilmiyorum fakat aşağıdaki kodları kullanabilirsin...

<?php
    $cevap['mesaj'] = 'test';
    echo json_encode($cevap);
?>
$(document).ready(function(){
    $.ajax({
        url:"jquery.php",
        type:"POST",
        success:function(cevap){
            data = JSON.parse(cevap);
            document.write(data.mesaj);
        }
    })
})