我有一张预订表格,我想查看是否有空房。我设法让这个工作只是为了检查日期是否可用,但在将时间纳入其中时也遇到了麻烦。
这是我在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;
它不会丢失任何错误,即使已经预订了这些组合,它也总是说“可用”。
答案 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”。