MVCプロジェクトでajaxエラーがトリガーされないのはなぜですか?

ブランケラ

したがって、ビューにテーブルがあり、次のスクリプトを使用して、データベースを更新するコントローラーにajaxデータを送信します。

$('.save-table').on('click', function () {
                var tr = $(this).parents('tr:first');
                var PredefName = tr.find("#PredefName").val();
                var PredefDescription = tr.find("#PredefDescription").val();
                var PredefID = tr.find("#PredefID").html();
                tr.find("#lblPredefName").text(PredefName);
                tr.find("#lblPredefDescription").text(PredefDescription);
                tr.find('.edit-mode, .display-mode').toggle();

                $.ajax({
                    url: '/PredefinedViews/Update/',
                    data: JSON.stringify({ pID: PredefID, pName: PredefName, pDescript: PredefDescription }),
                    type: 'POST',
                    contentType: 'application/json; charset=utf-8',
                    error: function (event, jqxhr, settings, exception) {
                        alert("something went wrong")
                        if (jqxhr.status == 401) {
                            alert("session expired!");
                        }
                    },
                    success: function (event, jqxhr, settings, exception) {
                        alert("database updated!");
                    }
                });
            });

したがって、5分短くする必要のあるセッションがあり、正常にセットアップできました。セッションの有効期限が切れたことをユーザーに通知する必要がありますが、セッションの有効期限が切れた後はエラーメッセージがトリガーされません。それはしかしん常に何がデータベースに保存されていない場合でも、成功メッセージをトリガします。だから私の質問は、どうすればajaxエラーをトリガーできますか?

EDIT1これが私のコントローラーのメソッドです:

        [HttpPost]
    [ValidateInput(false)]
    public ActionResult Update(int pID, string pName, string pDescript)
    {
        using (PanSenseEntities context = new PanSenseEntities())
        {
            tblPredefineView existingPredefineView = context.tblPredefineViews.Find(pID);
            existingPredefineView.Name = pName;

            existingPredefineView.Description = pDescript;
            context.SaveChanges();
        }
        return Json(JsonRequestBehavior.AllowGet);
    }

EDIT2セッションが期限切れになると、コントローラーにも到達しないことに気づきました。私は今ここで困惑しています...

アレハ

これは同様の質問です

そこからのコード、@ Darin Dimitrovは、カスタムの承認属性を作成し、不正なリクエストを処理することを提案しています。

[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class MyAuthorizeAttribute : AuthorizeAttribute
{
    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.Request.IsAjaxRequest())
        {
            filterContext.Result = new JsonResult
            {
                Data = new 
                { 
                    // put whatever data you want which will be sent
                    // to the client
                    message = "sorry, but you were logged out" 
                },
                JsonRequestBehavior = JsonRequestBehavior.AllowGet
            };
        }
        else
        {
            base.HandleUnauthorizedRequest(filterContext);
        }
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

UserNotVerifiedExceptionエラーがトリガーされないのはなぜですか?

分類Dev

FormDataオブジェクトの追加を含むPUTリクエストがLaravelコントローラーに送信されないのはなぜですか?

分類Dev

C#MVCプロジェクトでJSファイルにブラウザで404エラーが表示されるのはなぜですか?

分類Dev

ターゲットプラットフォームがプロジェクトでサポートされていないのはなぜですか?

分類Dev

プロジェクトでAPIキーの使用が許可されていないのはなぜですか?

分類Dev

UWP(デスクトップブリッジアプリ)によって作成されたlocaldbデータベースがSQL Serverオブジェクトエクスプローラーに表示されないのはなぜですか?

分類Dev

コントローラーでwhereクエリが実行されないのはなぜですか?

分類Dev

reduxで観察可能なエピックがトリガーされないのはなぜですか?

分類Dev

ASP.NET MVC サイトのこの AJAX 要求がプリフライト チェックをトリガーするのはなぜですか?

分類Dev

Laravelでajaxを使用してコントローラーからのクエリがテーブルに表示されないのはなぜですか?

分類Dev

Qtがプロジェクトの「ディレクトリを作成できない」というエラーを表示するのはなぜですか?

分類Dev

エラーハンドラがエラーなしでトリガーされるのはなぜですか?

分類Dev

UIBarButtonItemアクションが別のクラスでトリガーされないのはなぜですか?

分類Dev

ローカルプロジェクトがgithubリポジトリにプッシュされないのはなぜですか?

分類Dev

私のBashスクリプトがこのプロジェクトオイラーに正しい答えを返さないのはなぜですか?

分類Dev

致命的な理由:有効なgitプロジェクトにsbt-ghpagesを使用してサイトを公開するときにgitリポジトリエラーが表示されないのはなぜですか?

分類Dev

ADB0000エラー:Xamarin.Androidプロジェクトがデプロイされなくなったのはなぜですか?

分類Dev

SFAuthenticationSession同意アラートにアプリ名ではなくXcodeプロジェクト名が表示されるのはなぜですか?

分類Dev

ジェネリックパラメータがキャストされないのはなぜですか?

分類Dev

phx.newが最新のエリクサーバージョンでエリクサープロジェクトを作成しないのはなぜですか?

分類Dev

xamlのWindowsPresentation Foundation(WPF)プロジェクトエラーで「BoolToRowHeightConverterがサポートされていない」というエラーが表示されるのはなぜですか?

分類Dev

オブジェクトの場合、Yup文字列検証でエラーがスローされないのはなぜですか?

分類Dev

タスクスケジューラが一方のイベントのログによってトリガーされ、もう一方のイベントのログによってトリガーされないのはなぜですか?

分類Dev

C ++:括弧が空の場合、エラーオブジェクトがスローされないのはなぜですか?

分類Dev

この戻らないエンベロープが再トリガーされないのはなぜですか?

分類Dev

すべての新しいxcodeプロジェクトに2つのストーリーボードが表示されるのはなぜですか?

分類Dev

Windows Phone 8.0アプリのプロジェクトメニューに[ストア]が表示されないのはなぜですか?

分類Dev

ジャスミンテストでエラーがスローされないのはなぜですか?

分類Dev

すべてのNUnitテストカテゴリがテストエクスプローラーに表示されないのはなぜですか?

Related 関連記事

  1. 1

    UserNotVerifiedExceptionエラーがトリガーされないのはなぜですか?

  2. 2

    FormDataオブジェクトの追加を含むPUTリクエストがLaravelコントローラーに送信されないのはなぜですか?

  3. 3

    C#MVCプロジェクトでJSファイルにブラウザで404エラーが表示されるのはなぜですか?

  4. 4

    ターゲットプラットフォームがプロジェクトでサポートされていないのはなぜですか?

  5. 5

    プロジェクトでAPIキーの使用が許可されていないのはなぜですか?

  6. 6

    UWP(デスクトップブリッジアプリ)によって作成されたlocaldbデータベースがSQL Serverオブジェクトエクスプローラーに表示されないのはなぜですか?

  7. 7

    コントローラーでwhereクエリが実行されないのはなぜですか?

  8. 8

    reduxで観察可能なエピックがトリガーされないのはなぜですか?

  9. 9

    ASP.NET MVC サイトのこの AJAX 要求がプリフライト チェックをトリガーするのはなぜですか?

  10. 10

    Laravelでajaxを使用してコントローラーからのクエリがテーブルに表示されないのはなぜですか?

  11. 11

    Qtがプロジェクトの「ディレクトリを作成できない」というエラーを表示するのはなぜですか?

  12. 12

    エラーハンドラがエラーなしでトリガーされるのはなぜですか?

  13. 13

    UIBarButtonItemアクションが別のクラスでトリガーされないのはなぜですか?

  14. 14

    ローカルプロジェクトがgithubリポジトリにプッシュされないのはなぜですか?

  15. 15

    私のBashスクリプトがこのプロジェクトオイラーに正しい答えを返さないのはなぜですか?

  16. 16

    致命的な理由:有効なgitプロジェクトにsbt-ghpagesを使用してサイトを公開するときにgitリポジトリエラーが表示されないのはなぜですか?

  17. 17

    ADB0000エラー:Xamarin.Androidプロジェクトがデプロイされなくなったのはなぜですか?

  18. 18

    SFAuthenticationSession同意アラートにアプリ名ではなくXcodeプロジェクト名が表示されるのはなぜですか?

  19. 19

    ジェネリックパラメータがキャストされないのはなぜですか?

  20. 20

    phx.newが最新のエリクサーバージョンでエリクサープロジェクトを作成しないのはなぜですか?

  21. 21

    xamlのWindowsPresentation Foundation(WPF)プロジェクトエラーで「BoolToRowHeightConverterがサポートされていない」というエラーが表示されるのはなぜですか?

  22. 22

    オブジェクトの場合、Yup文字列検証でエラーがスローされないのはなぜですか?

  23. 23

    タスクスケジューラが一方のイベントのログによってトリガーされ、もう一方のイベントのログによってトリガーされないのはなぜですか?

  24. 24

    C ++:括弧が空の場合、エラーオブジェクトがスローされないのはなぜですか?

  25. 25

    この戻らないエンベロープが再トリガーされないのはなぜですか?

  26. 26

    すべての新しいxcodeプロジェクトに2つのストーリーボードが表示されるのはなぜですか?

  27. 27

    Windows Phone 8.0アプリのプロジェクトメニューに[ストア]が表示されないのはなぜですか?

  28. 28

    ジャスミンテストでエラーがスローされないのはなぜですか?

  29. 29

    すべてのNUnitテストカテゴリがテストエクスプローラーに表示されないのはなぜですか?

ホットタグ

アーカイブ