我有一个PhoneGap
应用程序正在与其C#
数据的服务进行通信。用户必须登录才能访问其中的任何内容,因此我的AuthorizeAttribute
控制器上有一个。这工作正常且正确,向我的应用程序抛出了一个问题。对我来说,问题是AuthorizeAttribute
我正在重写该HandleUnauthorizedRequest
方法,它应该返回一个 401。事实上,它可能是,只是 Ajax 处理程序在我的重写方法返回之前命中了错误函数。
授权属性
public class AppCustomAuthorization : AuthorizeAttribute
{
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
filterContext.HttpContext.Response.StatusCode = 401;
filterContext.HttpContext.Response.End();
base.HandleUnauthorizedRequest(filterContext);
}
}
阿贾克斯
$.ajax({
type: "GET",
url: url + "checkin/app/info",
dataType: "json",
success: function(d) {
// Do stuff
},
error: function (xhr, textStatus, errorThrown) {
app.showError(errorThrown); // Status code is 0
}
});
当我查看Network
请求时,似乎我的获取请求已取消。最初,我认为这是因为我的授权属性导致它取消请求,但是,它似乎在它到达我的处理程序之前就取消了。