我有一个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页面的结果?
提前致谢。
答案 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
}
});
});