get_file_contents div yenileme

2 Cevap php

I loaded a content into a div using php get_file_contents, now i want to refresh it using ajax but i can't figure how to do it.

Örnek kod:

<script>
function refreshmydiv(){
...
}
</script>

<div id="mydiv"> <? echo nl2br(htmlspecialchars($myfile)); ?> <div>
<a href="#" onclick="refreshmydiv();">Refresh My Div</a>

2 Cevap

Yani, burada bunu yapmanın bir yoludur. İlk olarak, parçalar:

myrefreshfunction

Bu fonksiyon refresh.php için bir AJAX arama veya başka bir sayfa yapmak gerekiyor. Sonra, geri gönderilen html ile mydiv içeriğini değiştirmeniz gerekir.


refresh.php

Bu sayfa div için HTML dönmek gerekiyor. Bu tüm sayfayı dönmek gerekmez, sadece div içeriğini dönmek gerekiyor.

Bu durumda, sadece get_file_contents ve başka bir şey yankı.

ex.

<?php
$homepage = file_get_contents('http://www.example.com/');
echo $homepage;
?>

Sonra, yenileme süreci bu gibi görünüyor:

  1. Kullanıcı div yenilemek için düğmeye basar.

  2. Sizin fonksiyonu bir sayfa ister.

  3. Sayfa div SADECE içeriğini döndürür.

  4. Sizin fonksiyonu sadece istenen sayfa div içeriğini değiştirir.

Bunu yapmanın başka yolları vardır, bunu yapmak için çok basit bir yoldur koydu.


Eğer jQuery kullanıyorsanız, myrefreshfunction, bir kod satırı temelde:

$('mydiv').load('refresh.php');

Eğer kullanırsanız Prototype JavaScript framework bunu bu şekilde yapabilirsiniz:

<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript">
    function refreshmydiv() {
        new Ajax.Request('/ajax/getdivcontents.php', {
            method: 'post' ,
            onSuccess: function(request) {
                $('mydiv').update(request.responseText);
            }
        });
    }
</script>
<div id="mydiv"> <? echo nl2br(htmlspecialchars($myfile)); ?> <div>
<a href="#" onclick="refreshmydiv();">Refresh My Div</a>

Eğer "Benim Div Yenile" linkine tıkladığınızda, bu bir Ajax çağrısı yapacak. Getdivcontents.php sayfası görüntülemek istediğiniz HTML oluşturacaktır.