jQuery AJAX调用无法使用错误选项

时间:2018-07-11 19:49:19

标签: jquery ajax rest

我正在使用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时,会得到相同的行为。我不确定在语法上是否需要更改某些内容,或者我是否不了解这些功能的用途。谢谢

1 个答案:

答案 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方法,但已弃用并删除了它。