AJAX:如何获取有关权限拒绝的信息

时间:2012-04-29 13:32:22

标签: ajax asp.net-mvc-3

我有一个ASP.NET MVC应用程序,我通过AJAX调用方法:

        $.ajax({
            dataType: 'json',
            url: "/Admin/AllowVideoUpload",
            type: "POST",
            data: { val: val },
            error: function () {
                alert('Error');
            }
        });

如果成功 - 客户端没有任何反应,如果错误 - 获取'错误'消息。但错误可能有不同的原因 - “AllowVideoUpload”方法中的问题或用户丢失了他的凭据(AdminController具有属性'Authorize(Roles =“Admin”)')。我想区分这两种类型的错误。怎么做?

1 个答案:

答案 0 :(得分:0)

这些是您的应用程序级别错误。所以它应该在成功处理程序中处理。

您可以从您的操作方法返回json,其中包含状态/错误代码/消息元素,您可以在其中提及错误原因。

示例Json为错误

{
    "Status": "Failed",
    "Message": "Authentication Failed"
}

示例Json for Success

{
    "Status": "Success",
    "Message": "Successfully Updated"
}

阅读jSon,然后您可以决定下一步该做什么。可以向用户显示消息

$.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');
        }
});