AJAX:如何获取信息有关的许可拒绝
问题描述:
我有一个ASP.NET MVC应用程序,在这里我用AJAX调用方法:AJAX:如何获取信息有关的许可拒绝
$.ajax({
dataType: 'json',
url: "/Admin/AllowVideoUpload",
type: "POST",
data: { val: val },
error: function() {
alert('Error');
}
});
如果成功 - 什么也没有发生在客户端,如果错误 - 得到“错误' 信息。但错误可能是由不同的原因 - “AllowVideoUpload”方法或用户失去了他的凭据(AdminController具有属性'Authorize(Roles =“Admin”)')内的问题。我想区分这两种类型的错误。怎么做?
答
那些是你的应用程序级的错误。所以它应该在成功处理程序中处理。
你可以从它那里有你提到的是错误原因,状态/错误代码/信息元素动作方法返回json
。
样品Json用来错误
{
"Status": "Failed",
"Message": "Authentication Failed"
}
样品的Json成功的
{
"Status": "Success",
"Message": "Successfully Updated"
}
阅读JSON,然后你可以决定做什么next.may是显示消息的用户
$.ajax({
dataType: 'json',
url: "/Admin/AllowVideoUpload",
type: "POST",
data: { val: val },
success:function(data){
if(data.Status=="Success")
{
//operation success. do whatever
}
else if(data.Status=="Failed")
{
alert(data.Message);
}
},
error: function() {
alert('Error');
}
});
所以,所有的错误INSI de方法应该是“里面”成功吗? – 2012-04-29 13:42:00
@ user285336:您的应用程序特定错误。 jQuery ajax错误事件用于处理发生ajax调用时发生的错误(例如:请求失败等)。无论您提到的是您的应用程序级别错误。 – Shyju 2012-04-29 13:45:48
它可能是其他原因的错误,即用户在执行ajax调用结束之前离开页面。 “错误”部分将被调用。我想从其他方面区分auth问题。 – 2012-04-29 13:47:28