Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于AJAX调用的页面加载_Php_Jquery_Ajax - Fatal编程技术网

Php 基于AJAX调用的页面加载

Php 基于AJAX调用的页面加载,php,jquery,ajax,Php,Jquery,Ajax,对不起,这个愚蠢的问题。是否可以基于AJAX帖子加载页面? 我尝试在我的页面上设置选项卡,每个选项卡包含不同的动态内容,这些内容由用户帖子更新。 例如,如果单击选项卡1,我希望它显示与选项卡1关联的帖子,选项卡2也是如此,以此类推。我完全不知道如何才能最好地实现这一点。 我在想一个onlcick事件,它将Tab id发送到相关的php文件,然后根据id返回该文件的结果。请为我指出更好的方法,因为我确信这不是最好的方法。 请参阅下面的代码: 索引: $(document).ready(funct

对不起,这个愚蠢的问题。是否可以基于AJAX帖子加载页面? 我尝试在我的页面上设置选项卡,每个选项卡包含不同的动态内容,这些内容由用户帖子更新。 例如,如果单击选项卡1,我希望它显示与选项卡1关联的帖子,选项卡2也是如此,以此类推。我完全不知道如何才能最好地实现这一点。 我在想一个onlcick事件,它将Tab id发送到相关的php文件,然后根据id返回该文件的结果。请为我指出更好的方法,因为我确信这不是最好的方法。 请参阅下面的代码: 索引:

$(document).ready(function() {

var id = 1;
var DATA = '&id=' +id;
$.ajax({
type: "POST",
url: "show.php",
data: DATA,
cache: false,
success: function(data){

$(".test").load("show.php");

}

}); 
</script>
</head>
<body>

<div class="test"></div>
</body>
</html>
$(文档).ready(函数(){
var-id=1;
变量数据='&id='+id;
$.ajax({
类型:“POST”,
url:“show.php”,
数据:数据,
cache:false,
成功:功能(数据){
$(“.test”).load(“show.php”);
}
}); 
show.php:

$(document).ready(function() {

var id = 1;
var DATA = '&id=' +id;
$.ajax({
type: "POST",
url: "show.php",
data: DATA,
cache: false,
success: function(data){

$(".test").load("show.php");

}

}); 
</script>
</head>
<body>

<div class="test"></div>
</body>
</html>
<?php

$id = $_POST['id'];

$me = mysql_query("SELECT * FROM table where id=$id");

while($row=mysql_fetch_array($me)){

$status=$row['status'];



echo $status;
}
?>


<>代码> 首先我看到你正在使用MySQL查询,考虑移动到MySqLi或PDO:

$(document).ready(function() {

var id = 1;
var DATA = '&id=' +id;
$.ajax({
type: "POST",
url: "show.php",
data: DATA,
cache: false,
success: function(data){

$(".test").load("show.php");

}

}); 
</script>
</head>
<body>

<div class="test"></div>
</body>
</html>
请注意,您的代码不过滤mysql注入,如果您更喜欢使用mysql,可以使用:

$(document).ready(function() {

var id = 1;
var DATA = '&id=' +id;
$.ajax({
type: "POST",
url: "show.php",
data: DATA,
cache: false,
success: function(data){

$(".test").load("show.php");

}

}); 
</script>
</head>
<body>

<div class="test"></div>
</body>
</html>
现在来回答你的实际问题,
我认为实现这一点的最佳方法是将所有选项卡(如果我们只讨论几个)加载到变量中,并使用javascirpt将它们存储在客户机的RAM中(只需将它们保存在变量中),然后,每当客户机切换选项卡时,您都从变量中加载它,这样客户机就不会从服务器请求它。

load()
$的一种速记方法。ajax
可以使用其中一种,您不需要同时使用这两种方法。请阅读jQuery API文档,其中包含很多示例,但我还是一个新手。您能给我更具体的指导吗?很抱歉,我对此一无所知
$(document).ready(function() {

var id = 1;
var DATA = '&id=' +id;
$.ajax({
type: "POST",
url: "show.php",
data: DATA,
cache: false,
success: function(data){

$(".test").load("show.php");

}

}); 
</script>
</head>
<body>

<div class="test"></div>
</body>
</html>