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函数中的“警报”显示为“已保存新用户,但什么也没发生。