最近的需求,表单保存时使用ajax获取后台json数据,如果获取时出现异常,需要在页面提醒,并且不允许提交表单将提交按钮隐藏。

我们一般写post请求可能就这样写了:

$.post("url", {id: 1}, function(result){ 
    alert(result);
});

这样写只能是调用成功后,会执行回调函数,如果说调用出现异常,这时候只能写完整版的ajax调用了,代码如下:

$.ajax({
    type: 'POST',
    url: '/test/testfuncion',
    data: {id: 1},
    success: function (data) {
        //调用成功时回调
        alert(data);
    },
    error: function (jqXHR, textStatus, errorThrown) {
        //调用出现异常时回调(404、500、开发者工具主动blocked等)
        alert("系统出现错误。" + textStatus);
        $("#submit_btn").hide();
    }
});

这时候在error中增加异常处理,这样JS前台验证如果出错了,也不允许用户提交。