Jquery Ajax - 检查日期和时间可用性

时间:2013-11-28 14:13:36

标签: php jquery ajax

我有一张预订表格,我想查看是否有空房。我设法让这个工作只是为了检查日期是否可用,但在将时间纳入其中时也遇到了麻烦。

这是我在Jquery / Ajax中进行检查的方式:

 $(document).ready(function(){
    $("#time_select_2_hour").change(function(){
    $("#availability_1").html("<img src='ajax-loader.gif' /> checking...");


    var date1=$("#date1").val();
    var time_select_2_hour=$("#time_select_2_hour").val();

      $.ajax({
            type:"post",
            url:"check.php",
            data:"date1="+date1,
            data:"time_select_2_hour="+time_select_2_hour,
                success:function(data){
                if(data==0){
                    $("#availability_1").html("<img src='tick.png' /> Tour  is available!");
                }
                else{
                    $("#availability_1").html("<img src='cross.png' /> Tour is fully booked, please choose another date or tour time.");
                }
            }
         });

    });

 });

这是check.php

  $date1=$_POST["date1"];
  $time=$_POST["time_select_2_hour"];

  $query=mysql_query("SELECT * from bookings where date1='$date1' AND time ='$time'");

  $find=mysql_num_rows($query);

  echo $find;

它不会丢失任何错误,即使已经预订了这些组合,它也总是说“可用”。

1 个答案:

答案 0 :(得分:0)

在定义AJAX选项的对象文字中不能有多个data属性,并期望它们都能正常工作。使用单个字符串:

data: "date1="+date1 + "&time_select_2_hour="+time_select_2_hour

或者使用另一个对象文字作为数据:

data: {
    data1: date1,
    time_select_2_hour: time_select_2_hour
}

请注意,尽管上面看起来可能会使用这些变量的值作为该对象的属性,但事实并非如此。对象属性名称/键始终被视为字符串,因此它将是文字值“data1”。