我有一个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#容器的同一页面中获得显示的值。
问题是,点击链接会在一个新窗口中打开一个新页面,网址为test.php?id=1,而不是在同一页面上显示php的内容。
如何在jquery中同一页面的名为#container的div上显示test.php页面的结果???
提前谢谢。
问题是点击链接会在新窗口中打开一个新页面,网址为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
}
});
});
只需阻止链接的默认行为:
$("#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
}
});
});