JavaScript append
Öncelikle herkese merhaba bir post isleminde html olusturma kismini JavaScript ile mi yoksa php ilemi yapmak dogru olur yardim edermisiniz ?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (1)
php tarafından html döndürüp onu javascript ile basmak en doğrusu. örneğin comment.php
diye bir dosyan olsun.
<div class="comment">
<div class="user"><?=$comment['username']?></div>
<div class="comment">
<?=$comment['content']?>
</div>
</div>
bu senin hem normalde sayfadaki yorumları gösterdiğin şablonun hem de ajax ile yeni bir yorum eklendiğinde döndürüp göstereceğin şablonun olacak.
php tarafına ajax ile istek attın, yorumunu veritabanına ekledin diyelim. Basit bir şekilde şöyle simüle edip htmli geriye döndürebilirsin:
$username = 'test'
$content = 'yorum mesaji'
// db insert islemleri
// buralari sen halladers'n
$comment = [
'username' => $username,
'content' => $content
];
ob_start();
require __DIR__ . '/comment.php';
$output = ob_get_clean();
echo json_encode([
'comment_html' => $output,
'message' => 'yorum basariyla eklendi'
]);
yukarıdaki gibi bir ajax php kodun olacak. sonuç olarak buraya istek atınca gelen datayı alıp basacaksın.
function addComment() {
const username = document.getElementById('username'),
content = document.getElementById('content')
const formData = new FormData()
formData.append('username', username)
formData.append('content', content)
fetch('/ajax.php', {
method: 'post',
body: formData
})
.then(res => res.json())
.then(res => {
console.log(res.comment_html) // gonderdigin html kodu
// bunu artik append ile nereye eklemek istiyorsan eklersin
})
}
elbette örneği kendine göre uyarlayıp düzenlemen gereken yerleri kendine göre düzenlemelisin.