我正在尝试传递<的数据值。 li>我在同一页面中点击了PHP。我正在使用AJAX将数据传递给PHP,用于查询。我认为ajax请求正在工作,但if中的php代码没有运行。
代码:
offices.php
<?php
include 'connect.php';
$page = 'offices';
include 'header.php';
if (isset($_POST['postdata'])){
$filter1 = $_POST['postdata'];
echo $filter1;
}
?>
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.min.js"></script>
</head>
<body>
<div class="filter1">
<ul>
<li class="fteacher" data-value="teacher">Professor</li>
<li class="foffice" data-value="office">Gabinete</li>
</ul>
</div>
<script src="js/offices.js"></script>
</body>
</html>
offices.js
$('.filter1 li').click(function(){
$.ajax({
type: 'POST',
url: 'offices.php',
data: {'postdata': $(this).attr('data-value')},
success: function(msg){
alert('Success');
}
});
});
答案 0 :(得分:0)
我尝试了您提供的代码,但不得不在PHP脚本的开头省略这两个包含,并且它有效。使用if子句中的file_put_contents("test.txt", "test");
进行测试。
您可以使用alert(msg)
查看PHP脚本返回的内容。请注意,返回PHP部分之后的所有内容也是如此。在PHP中使用error_reporting(E_ALL)
来搜索包含的脚本中的问题也可能有所帮助。
答案 1 :(得分:0)
请试试这个。希望您只期望输出$filter1
<?php
if (isset($_POST['postdata'])){
$filter1 = $_POST['postdata'];
echo $filter1;
}else {
include 'connect.php';
$page = 'offices';
include 'header.php';
?>
<!DOCTYPE html>
<html>
<head>
<script src="js/jquery.min.js"></script>
</head>
<body>
<div class="filter1">
<ul>
<li class="fteacher" data-value="teacher">Professor</li>
<li class="foffice" data-value="office">Gabinete</li>
</ul>
</div>
<script src="js/offices.js"></script>
</body>
</html>
<?php
}
?>