get_file_contents refresh div - PullRequest
       5

get_file_contents refresh div

2 голосов
/ 15 января 2010

Я загрузил контент в div, используя php get_file_contents , теперь я хочу обновить его с помощью ajax, но не могу понять, как это сделать.

Пример кода:

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

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

Ответы [ 2 ]

3 голосов
/ 15 января 2010

Итак, вот один из способов сделать это. Сначала запчасти:

myrefreshfunction

Эта функция должна вызвать AJAX refresh.php или другую страницу. Затем он должен заменить содержимое mydiv на HTML, который отправляется обратно.


refresh.php

Эта страница должна вернуть HTML для div. Не нужно возвращать всю страницу, нужно только вернуть содержимое div.

В этом случае это будет просто эхо get_file_contents и ничего больше.

ех.

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

Затем процесс обновления выглядит следующим образом:

  1. Ваш пользователь нажимает кнопку, чтобы обновить раздел.

  2. Ваша функция запрашивает страницу.

  3. Страница возвращает ТОЛЬКО содержимое div.

  4. Ваша функция заменяет содержимое div на только что запрошенную страницу.

Есть и другие способы сделать это, но это очень простой способ сделать это.


Если вы используете jQuery, ваш myrefreshfunction представляет собой одну строку кода:

$('mydiv').load('refresh.php');
1 голос
/ 15 января 2010

Если вы используете Prototype JavaScript framework , вы можете сделать это следующим образом:

<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>

Это будет вызов Ajax при нажатии на ссылку «Обновить мой Div».Страница getdivcontents.php создаст HTML-код, который вы хотите отобразить.

...