如何从.done()内部调用.fail()来处理一般错误?

Ant*_*rli 8 jquery promise

jQuery的AJAX .fail()是一个很好的错误处理程序,可以处理"404 Not Found"错误等等,但我们如何从内部故意调用它.done()来处理一般错误情况,例如当用户提供的数据不正确时?

JJJ*_*JJJ 11

您可以使用在每种情况下都会调用错误的常用函数.

$.ajax( 'url' )
    .done( function( data, textStatus, jqXHR ) {
        if( data == 'Invalid' ) {
            ajaxError( jqXHR, "usererror" );
        }
    })
    .fail( ajaxError );

function ajaxError( jqXHR, textStatus, errorThrown ) {
    console.log( 'Ajax error: ' + textStatus );
}
Run Code Online (Sandbox Code Playgroud)