jQuery ajax不执行.done或.fail或.always函数

时间:2019-07-28 18:02:25

标签: javascript php jquery json ajax

jQuery ajax函数不执行.done或.fail或.always。对php的调用成功创建了记录,但是在$ .ajax端仍然没有执行.done。

我试图在php'echo json_encode'中仅返回一个标准字符串,但没有成功。

javascript端:

// arr is an array consisting of user data filled in on a form
$.ajax({
    method: "POST",
    url: "includes/createUser.inc.php",
    dataType: "json",
    data: {myData : arr}
}).done(function(result) {
    if (result['status'] == 'success') {
        alert(result['message']);
    }
    else {
        alert("Create user failed");
    }
}).fail(function() {
    alert("Fail triggered");
}).always(function() {
    alert("Always triggered");
});

PHP代码:

    // calling a user object method to insert data in DB
    // this is successful as the record shows in the DB
    // createUser returns true or false
    $success = $user->createUser($userData);
    if ($success) {
        echo (json_encode([
            'status'  => 'success',
            'message' => 'New user saved'
            ]));
    } else {
        echo (json_encode([
            'status'  => 'error',
            'message' => 'User not saved to db'
        ]));
    }

上面的代码在数据库中成功创建了记录,因此我希望.done函数中的“警报”显示为“已保存新用户,但什么也没发生。

0 个答案:

没有答案