1

ASP.NET MVCアプリケーションがあり、AJAXでメソッドを呼び出します。

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

成功した場合-クライアント側では何も起こりません。エラーの場合-「エラー」メッセージが表示されます。ただし、エラーはさまざまな理由で発生する可能性があります。「AllowVideoUpload」メソッド内の問題、またはユーザーが資格情報を失った(AdminControllerの属性は「Authorize(Roles = "Admin")」です)。これらの2つのタイプのエラーを区別したいと思います。どうやってするの?

4

1 に答える 1

0

これらはアプリケーション レベルのエラーです。したがって、成功ハンドラーで処理する必要があります。

jsonエラーの理由を示す Status /Error code/Message 要素を持つアクション メソッドから戻ることができ ます。

エラーのサンプル JSON

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

成功のための JSON の例

{
    "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');
        }
});
于 2012-04-29T13:40:15.777 に答える