Ajax响应数据类型不匹配

时间:2014-01-19 08:20:29

标签: php jquery ajax

 success: function(response){
                console.log(response);
                if(response === 1){
                    alert('<p>New booking added !</p>');
                }
            }

我的ajax工作正常但是当我匹配显示消息的响应时它不起作用...在控制台显示1然后还有什么不显示警报的原因??

这是由PHP从下面的代码中显示的。

/**
 * Add new booking 
 */
if (isset($_POST['newbooking'])) {
    unset($_POST['newbooking']);
    $arg = $_POST;
    $booking = new Bookings;
    if ($new_booking = $booking->Add_Booking($arg)) {
        $room = new Rooms;
        // Set room status to reserved
        $room->Set_Room_Status($new_booking, 2);

        echo 1; // successfull
    } else {
        echo 0; // something happens wrong
    }
}

由于

1 个答案:

答案 0 :(得分:0)

===比较运算符表示“完全等于”,如果操作数等于相同类型的,则返回true。由于您将文本响应与预期的整数类型进行比较,因此表达式将始终失败。

使用

if (response == '1') {
   alert('<p>New booking added !</p>');
}

代替。顺便说一下,alert不翻译<p> - 代码。