如何使用AJAX / JQuery调用多个PHP脚本?

时间:2014-10-08 15:30:05

标签: php jquery html ajax mysqli

我是AJAX和JQuery的新手。我试图用它来调用两个PHP脚本。我在网上找到了一些例子,但只是为了调用函数。我只是试图调用脚本,以便它将加载我的主PHP文件上的所有内容,然后在屏幕上显示结果,而无需刷新页面。

这是小提琴示例,如果我将所有PHP脚本放在一个文件中,它就可以工作:http://jsfiddle.net/vw4w3ay5/

提前感谢,非常感谢您的帮助!

main_php文件(我想调用其他PHP脚本):

<div id="map_size" align="center">

<script type="text/javascript">

    /*I WANT TO CALL THE TWO SCRIPTS BEFORE EXECUTE THE FUNCTION BELOW*/

                $(".desk_box").click( function() {
             $(".station_info").hide();   // to hide all the others.
                 $("#station_info"+ $(this).attr('data') ).show();
                    });


</script>

display_desk.php(我要调用的脚本):

<?php
include 'db_conn.php';

//query to get X,Y coordinates from DB for the DESKS
$desk_coord_sql = "SELECT coordinate_id, x_coord, y_coord FROM coordinates";
$desk_coord_result = mysqli_query($conn,$desk_coord_sql);

//see if query is good
if($desk_coord_result === false) {
    die(mysqli_error()); 
}

//didsplay Desk stations in the map
            while($row = mysqli_fetch_assoc($desk_coord_result)){   
        //naming X,Y values
        $id    = $row['coordinate_id'];
        $x_pos = $row['x_coord'];
    $y_pos = $row['y_coord'];
        //draw a box with a DIV at its X,Y coord     
        echo "<div class='desk_box' data='".$id."' style='position:absolute;left:".$x_pos."px;top:".$y_pos."px;'>id:".$id."</div>";
                } //end while loop for desk_coord_result

 mysqli_close($conn); // <-- DO I NEED TO INCLUDE IT HERE OR IN MY db_conn.php SINCE IM INCLUDING IT AT THE TOP?

&GT;

display_stationinfo.php(我要调用的第二个脚本):

    <?php
include 'db_conn.php';
//query to show workstation/desks information from DB for the DESKS
$station_sql = "SELECT coordinate_id, x_coord, y_coord, section_name FROM coordinates";
$station_result = mysqli_query($conn,$station_sql);

//see if query is good
if($station_result === false) {
    die(mysqli_error()); 
}


//Display workstations information in a hidden DIV that is toggled
                    while($row = mysqli_fetch_assoc($station_result)){
                        //naming values
                        $id       = $row['coordinate_id'];
                        $x_pos    = $row['x_coord'];
                        $y_pos    = $row['y_coord'];
                        $sec_name = $row['section_name'];
                        //display DIV with the content inside
                        echo "<div class='station_info' id='station_info".$id."' style='position:absolute;left:".$x_pos."px;top:".$y_pos."px;'>Hello the id is:".$id."</br>Section:".$sec_name."</br></div>";
                    }//end while loop for station_result
   mysqli_close($conn); // <-- DO I NEED TO INCLUDE IT HERE OR IN MY db_conn.php SINCE IM INCLUDING IT AT THE TOP?

&GT;

1 个答案:

答案 0 :(得分:0)

怎么样? :

<div id="map_size" align="center">
<?php
echo "<script>";
include "display_desk.php";
include "display_stationinfo.php";
echo "</script>";
?>
<script type="text/javascript">

    /*I WANT TO CALL THE TWO SCRIPTS BEFORE EXECUTE THE FUNCTION BELOW*/

                $(".desk_box").click( function() {
             $(".station_info").hide();   // to hide all the others.
                 $("#station_info"+ $(this).attr('data') ).show();
                    });


</script>

确保添加$(document).ready(function(){

});

/ 修改 / 嗯,你想使用Ajax。你试过了吗?

$.post("yourURL.php",function(html){
    /*here what you want to do*/
    /*return of your script in html*/
});