使用 ajax 将 link id 传递到 php 页面并在另一个 div 中打开

Pass link id to php page with ajax and opening in another div

我有一个 index.php 页面 link 如下:

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

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

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

和ajaxjQuery同一页的代码如下:

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

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

问题是点击 link 在新的 windows 中打开一个新页面 url test.php?id=1 而不是显示 [= 的内容35=] 在同一页上。

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

提前致谢。

只是防止 link:

的默认行为
$("#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
      }
    });
}); 

The issue is that clicking on link opens a new page in a new windows with url test.php?id=1 rather than displaying content of php on same page.

您需要使用 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
    }
  });
});