我使用一个简单的if-else语句来检查POST表单的响应。
这很奇怪:我可以检查错误形式的响应。使用elseif:or else:绝对没有任何作用。即使响应有效。
当前代码:
post_data = {
'someData': someData
}
// Ajax post data to server
$.post('register.php', post_data, function(response) {
if (response.type == 'error') {
if (response.errorType == 'something') {
$("#someThing").addClass('has-error');
}
} else {
window.location.reload(true);
}
}, 'json');
这太奇怪了。我试着插入警报,以真正检查else语句是否在后台运行。
当响应为:"error"时,将执行错误语句。
然而,当回答是:成功/完成/清除/失败等(无论我尝试什么)时,什么都不会发生。
我在控制台中收到了响应,但JQuery没有运行}else{…语句。
实际上并不是你想的那样。
该函数仅在成功时调用。对于错误处理,您必须链接另一个功能
例如,试试这个:
post_data = {
'someData':someData
}
// Ajax post data to server
$.post('register.php', post_data).done(function (response) {
// This is your success function
window.location.reload(true);
})
.fail(function (xhr, textStatus, errorThrown) {
console.log("Post error: " + errorThrown);
$("#someThing").addClass('has-error');
});
我希望这能帮助你理解这种奇怪的行为:p
jQuery文档对于不同的jQuery版本有不同的处理功能。所以最好使用$.ajax