C# 为什么jQueryAjax和AngularJSHTTPPOST返回不同的结果?

C# 为什么jQueryAjax和AngularJSHTTPPOST返回不同的结果?,c#,jquery,angularjs,ajax,asp.net-mvc,C#,Jquery,Angularjs,Ajax,Asp.net Mvc,我的控制器中有一个执行以下操作的操作: [HttpPost] public ActionResult RetrieveTransactionStatuses() { throw new Exception("Test exceptioN"); return this.Json(this.RetrieveStatusLines()); } 我使用jquery中的$.ajax()和angular中的$http调用此方法,但返回的结果不同 $.ajax({ url: '/

我的控制器中有一个执行以下操作的操作:

[HttpPost]
public ActionResult RetrieveTransactionStatuses() {
     throw new Exception("Test exceptioN");
     return this.Json(this.RetrieveStatusLines());
}
我使用jquery中的$.ajax()和angular中的$http调用此方法,但返回的结果不同

$.ajax({
    url: '/Status/RetrieveTransactionStatuses',
    method:'POST',
    dataType: 'json'
}).done(function() {
    console.log('success ajax');
}).fail(function () {
    console.log('fail ajax');
});



$http({url: '/Status/RetrieveTransactionStatuses', method: 'POST'})
.then(function (response) {
    // success
    console.log('on success Angular');
},
function () {
    console.log('on failure angular');
});
在我的控制台上,我阅读的结果如下:

“失败ajax”

“论成功”


为什么它们会返回不同的结果,因为我预计angular会失败,因为控制器上的操作会引发异常?

是否涉及$http侦听器?您所说的$http侦听器是什么意思?它是一组用于http调用不同阶段的钩子方法。