onClick Ajax数据不起作用

时间:2016-06-08 19:10:03

标签: php jquery ajax post isset

因为我正在构建一个需要Ajax来发送POST方法而不刷新整个页面的网站。

我尝试使用ajax从LINK-tag上的onclick事件发送数据,但是ajax代码确实发送了一个EMPTY帖子。

这是php / jquery / ajax代码:

                <p id="school_content"> 
                </p>
                <script src="js/jquery.js"></script>
                    <script type="text/javascript">
                        $(document).ready(function() {
                            $(".toggleThis").click(function(){
                                var Id = $(this).attr('id');

                                $.ajax({
                                     contentType: "application/json; charset=utf-8",
                                     url: "id_script.php",
                                     type: "POST",
                                     data: {
                                            'school_name': Id,
                                         },
                                        success: function(data){
                                            alert(Id);
                                        },
                                    });

                                $("#school_content").load("id_script.php");
                            });
                        });
                    </script>

LINK-tag具有学校的'id',其信息需要在PARAGRAPH中以'id'“school_content”显示在这个jquery部分:$(“#school_content”)。load(“id_script .PHP“);

var Id = $(this).attr('id');部分工作,因为他在警报()中给我正确的school_name;如果我问它。

id_script.php需要以通常的方式获取此POST,但不是..

id_script.php代码:

<?php 
include('connect.php');
header('Content-Type: application/json');
if(isset($_POST['school_name'])){
        $Id = $_POST['school_name'];
        $extract = mysqli_query($con, "SELECT * FROM school_kaart WHERE school_name='$Id'");
        $numro=mysqli_num_rows($extract);
            if(mysqli_num_rows($extract) == '1'){   
                $row = mysqli_fetch_assoc($extract);
                echo 'Yes it works!';
            }
            else{
                echo 'Nope, didnt work!';
            }
}
else{
        echo 'Not posted!';
}

?>

我还在“没有张贴!”在我之前提到的PARAGRAPH中。什么似乎是问题?

1 个答案:

答案 0 :(得分:0)

.load是ajax请求的简写,因此您实际上正在执行2个请求。 后者不会发送任何数据,因此会返回“未发布!”&#39;;

http://api.jquery.com/load/

尝试

            <script src="js/jquery.js"></script>
                <script type="text/javascript">
                    $(document).ready(function() {
                        $(".toggleThis").click(function(){
                            var Id = $(this).attr('id');

                            $.ajax({
                                 url: "id_script.php",
                                 type: "POST",
                                 data: {
                                        'school_name': Id,
                                     },
                                    success: function(data){
                                        alert(Id);
                                       $("#school_content").html(data);
                                    },
                                });


                              //remove this
                            //$("#school_content").load("id_script.php");
                        });
                    });
                </script>