我正在使用AJAX来调用我的Flask服务器,但是无法使错误处理正常工作。目前,我的代码可以正常工作
$("#formID").submit(function(e) {
const url = "/_do_submit";
$.ajax({
type: "POST",
url: url,
data: {
"value": $("#value").val()
}
}).done(function(data){
alert("good");
// }).error(function(data){
// alert("bad");
});
e.preventDefault();
return false;
});
不幸的是,当我取消注释这两行以处理错误时,即使对于完全相同的响应,e.preventDefault也将停止工作并提交表单。将.done
更改为.success
时,会得到相同的行为。我不确定在语法上是否需要更改某些内容,或者我是否不了解这些功能的用途。谢谢
答案 0 :(得分:0)
jqXhr对象上没有error
方法,您正在寻找的是.fail
$("#formID").submit(function(e) {
const url = "/_do_submit";
$.ajax({
type: "POST",
url: url,
data: {
"value": $("#value").val()
}
}).done(function(data){
alert("good");
}).fail(function(jqXHR, textStatus, errorThrown){
alert("bad");
});
e.preventDefault();
return false;
});
实际上有一种error
方法,但已弃用并删除了它。