2

我有一个带有如下链接的 index.php 页面:

<a id="link" href="test.php?id=1">Test</a>

我在同一页面上有一个 div 容器,如下所示:

<div id="container" class="panel-body">

和 ajax jQuery 代码在同一页面上,如下所示:

<script type="text/javascript">
$("#link").click(function(){
    $.ajax({
    type: "get",
      url: "test.php",
      data: {'data':dataString}, 
      success: function(data){
           $('#container').html(data); 
      }
    });
}); 
</script>   

我的工作是将上面的 id=1 传递到 test.php 的链接中,并获取在 div #container 的同一页面中显示的值。

问题是单击链接会在带有 url test.php?id=1 的新窗口中打开一个新页面,而不是在同一页面上显示 php 的内容。

如何在 jquery 中显示同一页面的名为#container 的 div 上的 test.php 页面的结果???

提前致谢。

4

2 回答 2

1

问题是单击链接会在带有 url test.php?id=1 的新窗口中打开一个新页面,而不是在同一页面上显示 php 的内容。

您需要使用以下命令停止锚点的默认行为event.preventDefault()

$("#link").click(function(e) {
  e.preventDefault(); // <-------stop the def behavior here.
  var id = this.href.split('=').pop(); // extract the id here
  $.ajax({
    type: "get",
    url: "test.php",
    data: {id:id}, // now pass it here
    success: function(data) {
      $('#container').html(data); //copy and paste for your special case
    }
  });
});
于 2016-03-28T13:06:34.160 回答
0

只是防止链接的默认行为:

$("#link").click(function(event){
    event.preventDefault();

    $.ajax({
    type: "get",
      url: "test.php",
      data: {'data':dataString}, 
      success: function(data){
           $('#container').html(data); //copy and paste for your special case
      }
    });
}); 
于 2016-03-28T13:03:33.607 回答