Php ile aldığımız veriyi json dönüştürüp jquery de okuma sorunu
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);
});
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
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.
Herkesin bu güzel yorumları için çok çok teşekür ederim problemi sayenizde çözdüm günler sonra
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);
})();
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);
}
})
})