0

私は次のjQueryを持っています:

 $.ajax({
                type: 'POST',
                url: "MyController/MyAction",
                data: $("form").serialize(),
                dataType: "json"
            });

そして、ここに MyAction があります:

if(ModelState.IsValid)
{
   return RedirectToAction("OtherAction", new {id = 5});
}

私はこのセットアップを 3 つの異なる場所 (3 つの異なるアクション) に持っています。2 つのアクションで、問題なくリダイレ​​クトできます。ただし、1 つのアクションでリダイレクトできません。何も起こりません、私はただ同じページにとどまります。コードをステップ実行すると、すべての行が にヒットしMyActionますが、ブレークポイントにOtherActionヒットすることはありません。

私がしなければならない特別なことはありますか?動作する 2 つのインスタンスでは、同じコントローラーとの間で投稿しています。上記のインスタンスでは、jQuery はHomeControllerアクションへの投稿中のページにあります。MyController

4

1 に答える 1

1

アクションへのリダイレクトはリダイレクトを実行し、リダイレクトされた応答を Ajax 呼び出しに返すだけなので、これはメイン ページには影響しません。

応答は他の応答と同じように認識されるため、ajax 要求を行ったページはリダイレクトされません。AJAX の結果に到達するための余分な手順 (リダイレクト) が 1 つだけありました。

メインページをリダイレクトしたい場合は、ajax リクエストのコールバックで処理できます。

于 2013-06-28T23:07:25.340 に答える