如何在jQuery中的同一窗口中加载PHP页面

时间:2008-12-16 10:01:35

标签: php jquery ajax

我有一个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>。当我单击test.php中的Another.php链接时,它会加载到另一个窗口中。但是我需要它来加载相同的<div> </div>区域而不更改test.php的内容,因为它有displayInfo(), displayDetails()。或者是否可以在<div> </div>元素中加载PHP页面?

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:5)

如果我理解正确,您希望a链接取消导航,但是要激活AJAX功能吗?

在那种情况下:

$("#mylink").click(function() {
    $.ajax({ type: "POST", url: "another.php", data: {id: "somedata"}, function(data) {
        $("#response").html(data);
    });
    return false;
});

答案 1 :(得分:0)

您可以使用MooTools和课程Request.HTML

答案 2 :(得分:0)

Krof是正确的,

然而,一种可能的不良行为是每次点击链接时它都会查询数据。您可以将事件设置为仅使用一个调用ajax查询一次。

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

不要忘记在链接中设置href =“javascript:{}”,以便在链接不会执行任何操作后触发事件之后;