Как загрузить страницу PHP в том же окне в jQuery - PullRequest
2 голосов
/ 16 декабря 2008

У меня есть файл PHP, Test.php, и он имеет две функции:

<?php
    echo displayInfo();
    echo displayDetails();
?>

JavaScript:

<html>
     ...
    <script type="text/javascript">
        $.ajax({
            type:'POST',
            url: 'display.php',
            data:'id='+id  ,
            success: function(data){
                $("#response").html(data);
            }
        });
    </script>
    ...

    <div id="response">
    </div>
</html>

Возвращает ответ от jQuery. Ответ отображается как <a href=Another.php?>Link</a>. Когда я нажимаю на ссылку Another.php в test.php, она загружается в другое окно. Но мне нужно, чтобы он загружал ту же область <div> </div> без изменения содержимого test.php, поскольку он имеет displayInfo(), displayDetails(). Или можно загрузить страницу PHP внутри <div> </div> элементов?

Как я могу решить эту проблему?

Ответы [ 3 ]

5 голосов
/ 16 декабря 2008

Если я правильно понимаю, вы хотите, чтобы ссылка a отменила навигацию, но включила функцию AJAX?

В этом случае:

$("#mylink").click(function() {
    $.ajax({ type: "POST", url: "another.php", data: {id: "somedata"}, function(data) {
        $("#response").html(data);
    });
    return false;
});
0 голосов
/ 17 декабря 2008

Кроф правильно,

Одно из возможных нежелательных действий этого, однако, заключается в том, что он будет запрашивать данные каждый раз при щелчке по ссылке. Вы можете установить событие, чтобы вызывать ajax-запрос только один раз, используя один.

$("#mylink").one('click', function() {
  // ajax call
  return false;
});

Не забудьте установить href = "javascript: {}" в вашей ссылке, чтобы после запуска события однажды ссылка ничего не делала;

0 голосов
/ 17 декабря 2008

Вы можете просто использовать MooTools и класс Request.HTML .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...