使用ajax将链接ID传递给php页面并在另一个div中打开

时间:2016-03-28 12:59:45

标签: jquery ajax jquery-ajaxq

我有一个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>   

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

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

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

提前致谢。

2 个答案:

答案 0 :(得分: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
    }
  });
});

答案 1 :(得分: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
      }
    });
});