【发布时间】:2017-02-26 03:28:31
【问题描述】:
我下面的代码最终出现在 AJAX success 函数中。为什么?它应该执行error 函数。我究竟做错了什么?
$.ajax({
url: url,
type: "POST",
data: data,
contentType: "application/json; charset=utf-8",
success: function(data) {
if (callback)
callback(data);
$.LoadingOverlay("hide");
},
error: function (event, jqxhr, settings, thrownError) {
var t = "";
}
});
protected void Application_Error(object sender, EventArgs e)
{
var ctx = HttpContext.Current;
var exception = ctx.Server.GetLastError();
bool isAjaxCall = string.Equals("XMLHttpRequest", Context.Request.Headers["x-requested-with"], StringComparison.OrdinalIgnoreCase);
Context.ClearError();
if (isAjaxCall)
{
//Context.Response.ContentType = "application/json";
Context.Response.StatusCode = 200;
Context.Response.Write(
new JavaScriptSerializer().Serialize(
new { error = exception.Message }
)
);
}
}
控制器只是抛出一个异常:
throw new Exception("faulty");
【问题讨论】:
标签: jquery ajax asp.net-mvc asp.net-mvc-5