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>   

私の仕事は、test.php へのリンクで上記の id=1 を渡し、div #container の同じページに表示される値を取得することです。

問題は、リンクをクリックすると、同じページに php のコンテンツが表示されるのではなく、url test.php?id=1 の新しいウィンドウで新しいページが開くことです。

jqueryで同じページの#containerという名前のdivにtest.phpページの結果を表示するにはどうすればよいですか?

前もって感謝します。

4

2 に答える 2

1

問題は、リンクをクリックすると、同じページに php のコンテンツが表示されるのではなく、url test.php?id=1 の新しいウィンドウで新しいページが開くことです。

次のようにして、アンカーのデフォルトの動作を停止する必要があります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 に答える