000webhost中的AJAX

时间:2018-12-13 17:42:06

标签: javascript php json ajax hosting

我在000webhost中遇到AJAX问题。 AJAX的输出未显示。另外,检查时控制台中没有错误。

这是我的网站链接: https://cwp-geoworld.000webhostapp.com/

AJAX部分与localhost配合正常,单击侧边栏后,它可以在侧边栏中显示大洲列表,并在页面中间显示表格。

示例如下: https://drive.google.com/open?id=1Tn5hQXepA--o4LTqBc_DzjeZ17yz830Z

以下是index.php的代码,其中包含AJAX代码:

<?php
    include("control.php");
    //require_once( "classes/session.class.php" );
    $username = Session::getInstance()->getProperty("username");
    $userRole = Session::getInstance()->getProperty("userRole");
    require_once( "classes/PDOConnection.class.php" );
    //header('Content-type: application/json');
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <title>GeoWorld | Home</title>

        <!--Icon at the tab-->  
        <link rel="icon" type="image/png" href="images/globe_icon.png"/>
        <!-- Tell the browser to be responsive to screen width -->
        <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
        <link rel="stylesheet" href="template/other_pages/bower_components/bootstrap/dist/css/bootstrap.min.css">
        <!-- Font Awesome -->
        <link rel="stylesheet" href="template/other_pages/bower_components/font-awesome/css/font-awesome.min.css">
        <!-- Ionicons -->
        <link rel="stylesheet" href="template/other_pages/bower_components/Ionicons/css/ionicons.min.css">
        <!-- Theme style -->
        <link rel="stylesheet" href="template/other_pages/dist/css/AdminLTE.min.css">
        <!-- Skins -->
        <link rel="stylesheet" href="template/other_pages/dist/css/skins/skin-purple.css">
        <!-- Google Font -->
        <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,600,700,300italic,400italic,600italic">
    </head>

    <body class="hold-transition skin-purple sidebar-mini">
        <!--WRAPPER-->
        <div class="wrapper">
            <!-- Main Header -->
            <header class='main-header'>
                <!-- Logo -->
                <a href='index.php' class='logo'>
                <!-- mini logo for sidebar mini 50x50 pixels -->
                <span class='logo-mini'><i class='fa fa-globe'></i><b>Geo</b></span>
                <!-- logo for regular state and mobile devices -->
                <span class='logo-lg'><b>Geo</b>World</span>
                </a>
                <!-- Header Navbar -->
                <nav class='navbar navbar-static-top' role='navigation'>
                    <!-- Sidebar toggle button-->
                    <a href='#' class='sidebar-toggle' data-toggle='push-menu' role='button'>
                        <span class='sr-only'>Toggle navigation</span>
                    </a>
                    <div class="navbar-custom-menu">
                        <ul class="nav navbar-nav"> 
                            <!--Include Conditions for Navbar-->
                            <?php include ('include/navbar.php'); ?>
                        </ul>
                    </div>
                </nav>
            </header>   
            <!--Include Sidebar-->
            <?php include ('include/sidebar.php'); ?>


            <!-- CONTENT WRAPPER -->
            <div class="content-wrapper">
                <!-- Content Header (Page header) -->
                <section class="content-header">
                <h1 align='center'>
                    Welcome to GeoWorld
                </h1>
                </section>
                <!-- Main content -->
                <section class="content container-fluid">
                    <!-- search form (Optional) -->
                    <div id="searchTextBox">
                        <div class="input-group">
                        <input type="text" id='search' name="search_country" maxlength=3 class="form-control" placeholder="Search for a country here...">
                        <span class="input-group-btn">
                            <button type="submit" id='search-btn' class="btn btn-flat"><i class="fa fa-search"></i>
                            </button>
                            </span>
                        </div>
                    </div><!-- /.search form -->
                    <br/>
                    <div class="searchResults"></div><br/>
                    <div class="box-body">
                        <div id="records"></div>
                    </div>
                </section><!-- /.content -->
            </div><!-- /.content-wrapper -->
        </div><!-- ./wrapper -->

        <!-- Modal for show more details about country -->
        <div class="modal fade" id="countryModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">More details about the country</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body"></div>
                    <div class="modal-footer">
                        <!--<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>-->
                        <!--<button type="button" class="btn btn-primary">Save changes</button>-->
                    </div>
                </div>
            </div>
        </div>

        <!-- Modal for show details about city -->
        <div class="modal fade" id="cityModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">City details</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body"></div>
                    <div class="modal-footer">
                        <!--<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>-->
                        <!--<button type="button" class="btn btn-primary">Save changes</button>-->
                    </div>
                </div>
            </div>
        </div>

        <!-- Modal to update HOS -->
        <div class="modal fade" id="updateModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Edit details</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body"></div>

                </div>
            </div>
        </div>

        <!-- Modal to upload flag -->
        <div class="modal fade" id="uploadModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h5 class="modal-title" id="exampleModalLabel">Upload Flag</h5>
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&times;</span>
                        </button>
                    </div>
                    <div class="modal-body"></div>
                </div>
            </div>
        </div>
    </body>
</html>

<!-- REQUIRED JS SCRIPTS -->
<script
    src="https://code.jquery.com/jquery-3.3.1.min.js"
    integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
    crossorigin="anonymous">
<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<!-- jQuery 3 -->
<script src="template/other_pages/bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap 3.3.7 -->
<script src="template/other_pages/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- AdminLTE App -->
<script src="template/other_pages/dist/js/adminlte.min.js"></script>

<!--script for displaying continents and countries records-->  
<script type="text/javascript"> 
    $(document).ready(function(){
        //$('#searchTextBox').hide();
        $('.records').hide();

        $("input[name='search_country']").on('keypress', function (e) {
            var charCode = e.which;
            if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123) || charCode == 8)
                return true;
            else
                return false;
        });
    });

    $(function()
    {
        $.getJSON( "showAllContinents.php", function(obj) 
        { 
            $.each(obj, function(key, value) 
            { 
                var sidebarOption = "";
                //sidebarOption = '<input type="hidden" value="showAllContinents" name="action"/>';
                sidebarOption += '<li>';
                sidebarOption += '<a data-id="'+value.ID+'" class="sidebar-country">';
                sidebarOption += value.Name;
                sidebarOption += '</a>';
                sidebarOption += '</li>';

                $(".treeview-menu").append(sidebarOption);
            });
        });//end of $.getJSON function

        $("#options_continent").change(function() {
            getCountryRecords($(this).val());
        });//end of option function      

        $(document).on('click', '.sidebar-country', function() {
            getCountryRecords($(this).attr('data-id'));
        });

        //to show LifeExpectancy, GNP and HOS when button is clicked    
        $("#records").on("click", "#tbl_countries button#more_details",function()
        {
            $(".modal-body").empty();
            var A3Code = $(this).val();
            $(".records").show();
            $.get( 
                'showCountryDetails.php',
                {A3Code: A3Code},
                function(data)
                {
                    console.log(data);
                    //var result= $.parseJSON(data);
                    //console.log(result);
                    var string ='<table id="tbl_countries" class="table table-bordered table-hover"><tr><th>Life Expectancy</th><th>GNP</th><th>Head of State</th></tr>';
                    $.each( data, function( key, value ) 
                    { 
                        $(".records").empty();
                        string  += "<tr>"
                                +"<td>"+value['LifeExpectancy'] +"</td>"
                                +"<td>"+value['GNP']+"</td>"
                                +"<td>"+value['HeadOfState']+"</td>"
                                +"</tr>";
                    }); 

                    string += '</table>'; 
                    $(".modal-body").append(string);
                } //end of function data
            ); //end of get

        });//end of click button 


        //to show city details when button is clicked   
        $("#records").on("click", "#tbl_countries button#city_details",function()
        {
            $(".modal-body").empty();
            var A3Code = $(this).val();
            $(".records").show();
            $.get( 
                'showCityDetails.php',
                {A3Code: A3Code},
                function(data)
                {
                    var string ='<table id="tbl_countries" class="table table-bordered table-hover"><tr><th>City Name</th><th>District</th><th>Population</th><th>Latitude</th><th>Longitude</th></tr>';
                    $.each( data, function( key, value ) 
                    { 
                        $(".records").empty();
                        string  += "<tr>"
                                +"<td>"+value['name'] +"</td>"
                                +"<td>"+value['district']+"</td>"
                                +"<td>"+value['population']+"</td>"
                                +"<td>"+value['lat']+"</td>"
                                +"<td>"+value['lng']+"</td>"
                                +"</tr>";
                    }); 

                    string += '</table>'; 
                    //$(".records").append(string);
                    $(".modal-body").append(string);
                } //end of function data
            ); //end of get

        });//end of click button 


        //to update HOS modal box   
        $("#records").on("click", "button#update_HOS",function()
        {
            $(".modal-body").empty();
            var A3Code = $(this).val();
            $(".records").show();
            $.get( 
                'showCountryDetails.php',
                {A3Code: A3Code},
                function(data)
                {
                    console.log(data);
                    var forms='';

                    $.each( data, function( key, value ) 
                    { 
                        forms +='<form id="updateForm" name="updateForm" action="updateHOS.php" method="post">';
                        forms +='<div class="form-group">';
                        forms +='<input type="hidden" id="A3Code" name="A3Code" value='+value["A3Code"]+'>';
                        forms +='<label class="control-label">HOS:</label>';
                        forms +='<input type="text" class="form-control" id="hos" name="hos" value='+value['HeadOfState']+'>';
                        forms +='</div>';
                        forms += '<div class="form-group">'; 
                        forms += '<input type="submit" class="btn-success" id="updateBtn" name="updateBtn" value="Update">';
                        forms +='</div>';                   
                        forms +='</form>';
                    }); 

                    $(".modal-body").append(forms);
                } //end of function data
            ); //end of get
        });//end of click button */


        //to show upload flag modal box 
        $("#records").on("click", "button#upload_flag",function()
        {
            $("#uploadModal .modal-body").empty();
            var A3Code = $(this).val();

            $(".records").show();
            $.get( 
                'showCountryDetails.php',
                {A3Code: A3Code},
                function(data)
                {
                    console.log(data);
                    var uploadForm='';

                    $.each( data, function( key, value ) 
                    { 
                        uploadForm +='<form id="uploadFlagForm" name="uploadFlagForm" action="upload_flag.php" method="post" enctype="multipart/form-data">';
                        uploadForm +='<div class="form-group" align="center">';
                        uploadForm +='<input type="hidden" id="A3Code" name="A3Code" value='+value["A3Code"]+'>';
                        uploadForm +='<input type="file" name="fileToUpload" id="fileToUpload">';
                        uploadForm +='</div>';
                        uploadForm += '<div class="form-group" align="center">'; 
                        uploadForm += '<button type="submit" class="btn btn-primary" id="uploadBtn" name="uploadBtn">Upload Flag</button>';
                        uploadForm +='</div>';                  
                        uploadForm +='</form>';
                    }); 

                    $("#uploadModal .modal-body").append(uploadForm);
                } //end of function data
            ); //end of get
        });//end of click button 

        //To get country records    
        function getCountryRecords(id) {
            $.ajax
            ({
                url: 'showCountryInfo.php',
                type: 'post',
                data: {ID:id},
                success:function(response)
                {
                    var userRole = "<?php echo $userRole; ?>";

                    var string = "";

                    //string += '<input type="hidden" value="showCountryInfo" name="action"/>';
                    string += '<table id="tbl_countries" class="table table-bordered table-hover">';
                    string += '<tr>';
                    string += '<th>Flag</th>';
                    string += '<th>Country Name</th>';
                    string += '<th width=200px>Region</th>';
                    string += '<th>Surface Area</th>';
                    string += '<th>Population</th>';
                    string += '<th width=150px>Independent Year</th>';
                    string += '<th width=100px>City Details</th>';
                    if (userRole === "admin")
                    {
                        string += '<th width=100px>More Details</th>';
                        string += '<th width=100px>Update Details</td>';
                        string += '<th width=100px>Upload Flag</td>';
                    }
                    string += '</tr>';


                /* from result create a string of data and append to the div */
                $.each( response, function( key, value ) 
                {
                    //var base64URL = "";

                    $("#records").empty();
                    string += "<tr>";
                    //string += "<td><img src='"+value['image']+"'/></td>";
                    //string += "<td><img src='data:image/png;base64, "+base64URL+"'/></td>";
                    string += "<td>"+"<button class='btn btn-block btn-default btn-sm' id='btnView' name='btnView' type='submit' data-id='" + value['A3Code'] + "'>View</button>" + "</td>";
                    //string += "<td>"+"<button class='btn btn-block btn-default btn-sm' id='btnView' name='btnView' type='submit' value='" + value['A3Code'] + "'>View</button>" + "</td>";
                    string += "<td>"+value['Name']+"</td>";
                    string += "<td>"+value['Region']+"</td>";
                    string += "<td>"+value['SurfaceArea']+"</td>";
                    string += "<td>"+value['Population']+"</td>";
                    string += "<td>"+value['IndepYear']+"</td>";
                    string += "<td>"+"<button class='btn btn-block btn-info btn-sm' data-toggle='modal' data-target='#cityModal' id='city_details' name='city_details' type='submit' value='" + value['A3Code'] + "'><span class='glyphicon glyphicon-info-sign'></button>" + "</td>";
                    if (userRole === "admin")
                    {
                        string += "<td>"+"<button class='btn btn-block btn-info btn-sm' data-toggle='modal' data-target='#countryModal' id='more_details' name='country_details' type='submit' value='" + value['A3Code'] + "'><span class='glyphicon glyphicon-info-sign'></button>" + "</td>";
                        string += "<td>"+"<button class='btn btn-block btn-default btn-sm' data-toggle='modal' data-target='#updateModal' id='update_HOS' name='update_HOS' type='submit' value='" + value['A3Code'] + "'><i class='fa fa-edit'></i></button>" + "</td>";
                        string += "<td>"+"<button class='btn btn-block btn-default btn-sm' data-toggle='modal' data-target='#uploadModal' id='upload_flag' name='upload_flag' type='submit' value='" + value['A3Code'] + "'><i class='fa fa-flag'></i></button>" + "</td>";
                    }
                        string += "</tr>";
                }); 

                string += '</table>'; 
                $("#records").append(string); 
            }
        });
    }

        /*$(document).on('click', '#btnView', function(){
            window.location.href = "view_flag.php"; 
        });*/

        $(document).on('click', '#btnView', function(){
            var value = $(this).attr('data-id');
            window.location.href = "view_flag.php?A3Code=" + value; 
        });

        /*//For view flag function
        $("#btnView").on('click', function(e) {
            window.location.href = "view_flag.php";  
        });*/

        /*$("#view_flag").on("click",function()
        {
            window.location.href = "view_flag.php";  
        });*/



        //For search country function
        $("#search-btn").on("click", function () 
            {   
                if(document.getElementById("search").value.length < 3)
                {
                    alert("The characters MUST NOT be less than 3!");
                    return false;
                }

                $("#records").empty();
                $(".records").empty();
                $('.searchResults').empty();

                var searchCountry = $("#search").val();

                $.get(
                        'searchCountryInfo.php',
                        {id: searchCountry}, //left->sql id ,right->script id
                        function (data)
                        {
                            if (!$.trim(data)){   
                                alert("No country with that name is found!");
                                return false;
                            }

                            var userRole = "<?php echo $userRole; ?>";

                            var string = "";
                            //string += '<input type="hidden" value="searchCountryInfo" name="action"/>';
                            string += '<table id="tbl_countries" class="table table-bordered table-hover">';
                            string += '<tr>';
                            string += '<th>Flag</th>';
                            string += '<th>Country Name</th>';
                            string += '<th width=200px>Region</th>';
                            string += '<th>Surface Area</th>';
                            string += '<th>Population</th>';
                            string += '<th width=150px>Independent Year</th>';
                            string += '<th width=100px>City Details</th>';
                            if (userRole === "admin")
                            {
                                string += '<th width=100px>More Details</th>';
                                string += '<th width=100px>Update Details</td>';
                                string += '<th width=100px>Upload Flag</td>';
                            }
                            string += '</tr>';

                            // var base64URL = getBase64(data[0]['image']);
                            // console.log(base64URL);

                            /* from result create a string of data and append to the div */
                            $.each( data, function( key, value ) 
                            { 

                                $("#records").empty();
                                string += "<tr>";
                                //string += "<td>"+"<img src='data:image/png;base64,base64_encode("+value['image']+")"+"'/>"+"</td>";
                                //string += "<td>"+"<img src='data:image/jpeg;base64, "+base64URL+"'/></td>";
                                string += "<td>"+"<button class='btn btn-block btn-default btn-sm' id='btnView' name='btnView' type='submit' data-id='" + value['A3Code'] + "'>View</button>" + "</td>";                                string += "<td>"+value['Name']+"</td>";
                                string += "<td>"+value['Region']+"</td>";
                                string += "<td>"+value['SurfaceArea']+"</td>";
                                string += "<td>"+value['Population']+"</td>";
                                string += "<td>"+value['IndepYear']+"</td>";
                                string += "<td>"+"<button class='btn btn-block btn-info btn-sm' data-toggle='modal' data-target='#cityModal' id='city_details' name='city_details' type='submit' value='" + value['A3Code'] + "'><span class='glyphicon glyphicon-info-sign'></button>" + "</td>";
                                if (userRole === "admin")
                                {
                                string += "<td>"+"<button class='btn btn-block btn-info btn-sm' data-toggle='modal' data-target='#countryModal' id='more_details' name='country_details' type='submit' value='" + value['A3Code'] + "'><span class='glyphicon glyphicon-info-sign'></button>" + "</td>";
                                string += "<td>"+"<button class='btn btn-block btn-default btn-sm' data-toggle='modal' data-target='#updateModal' id='update_HOS' name='update_HOS' type='submit' value='" + value['A3Code'] + "'><i class='fa fa-edit'></i></button>" + "</td>";
                                string += "<td>"+"<button class='btn btn-block btn-default btn-sm' data-toggle='modal' data-target='#uploadModal' id='upload_flag' name='upload_flag' type='submit' value='" + value['A3Code'] + "'><i class='fa fa-flag'></i></button>" + "</td>";
                                }
                            string += "</tr>";
                            }); 

                            string += '</table>'; 
                            $("#records").append(string); 
                        }
                    );
                }); // end of search function

    }); //end of big function
</script>   

您的帮助将不胜感激。谢谢。

0 个答案:

没有答案