0

次のような jQuery post 呼び出しがあります。

$.post('/Controller/_PartialAction', { 'param1': data }, function(result) { });

ユーザーの認証 Cookie の有効期限が切れた場合を除いて、これで問題ありません。

何が起こるかというと、ログインページにリダイレクトするものはすでにそこにあり/Controller/_PartialActionますが、この場合の部分的なアクションは部分的なビューであり、代わりに完全なビューをリダイレクトしたいのです。

そのため、すでにそれをログインページにリダイレクトしていますが、別のページにリダイレクトしたいと思います/Controller/Index。ajax/jQuery呼び出しでエラーパスまたはリダイレクトパスを指定する方法はありますか?

IE、このようなもの(これは存在しませんが、私がやろうとしていることのようです)

$.post({success}, {redirect}, {error}, {data}, {function})

基本的に、エラー用の別の URL を使用して jQuery/ajax post 呼び出しを実行し、その URL にリダイレクトするにはどうすればよいですか?

編集

リダイレクトされているのは、ajax 呼び出しそのものです。したがって、コントローラーからリダイレクトすることはできません。

4

2 に答える 2

0

ユーザーのセッションの有効期限が切れたかどうかに基づいてアクション URL を定義しますか?

アクション URL を変数として定義してから、post 呼び出しで使用してみませんか。

// Use an asp.net function to work out whether session has expired
if( ... ) {
   // Session expired
   var url = 'Controller/Index';
} else {
   // Session alive
   var url = 'Controller/_PartialAction';
}

$.post(url, { 'param1': data }, function(result) { });
于 2012-04-05T15:19:37.983 に答える
0

あなたが何を求めているのか完全にはわかりませんが、(http://api.jquery.com/jQuery.post/に基づいて)基礎となる $.ajax (http://api.jquery.com/ jQuery.ajax/) とerror関数を設定しますか?

または、成功のコールバックで Cookie の有効期限をテストし、そのテストの結果に基づいてリダイレクトできますか。

于 2012-04-05T15:20:46.223 に答える