通过AJAX将li数据值传递回同一页面

时间:2015-01-02 00:10:23

标签: php jquery html ajax post

我正在尝试传递<的数据值。 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'); 
      }
 });
});

2 个答案:

答案 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
        }
    ?>