0

SOでの最初の投稿ですが、コーディングの問題ではなく、驚異的な問題を解決するために何年も閲覧しています。

私がやりたいことは次のとおりです。*ハッシュナビゲーション(#!/)を使用します。* phpファイルではなく、Zendコントローラーアクションを使用します。*これらのアクションをjavascript/jQueryを介してロードします。

これまでのところ、私はこれを機能させています:indexController、いくつかのアクション、それぞれaddActionContext()を介してAjaxContextにアタッチされ、「hashchange」プラグインjQuery(window).hashchange(function(){を介してjavascript/jQueryファイルを介してそれらを呼び出すことができますbla bla})。アクションをうまく循環させることができます。

しかし、ユーザーがログインしていない場合は、ユーザーをログインページにリダイレクトしたいので、問題が発生します。どうすればそれを達成できますか?別のコントローラー(ログインコントローラー、ログインアクション)にリダイレクトされます。$ this-> _ redirect('/#!/ login / login');のようなものを試していました。運がない(はい、そのコントローラーのinitにAjaxContextを設定しました)。リダイレクトエラーが発生し続けます(「ページが正しくリダイレ​​クトされていません」)。アドレスバーに「/#!/ login / login」と入力するだけで、すべてが正しく表示されます。

とにかく、よろしくお願いします!乾杯

4

1 に答える 1

0

他の非 ajax コンテキストを導入すると、これは複雑になり始めますが、Ajax コンテキストをエラー コントローラーに追加することはできます。次に、アクティブなコンテキストが AJAX の場合、エラー コントローラーが認証されていない例外に対して JSON を返すようにします (既定のコンテキストがアクティブな場合は、リダイレクトを保持します)。次に、JS は JSON によって提供される特定のエラーをリッスンし、ユーザーを適切なログイン URL に手動でバウンスします。

于 2012-06-05T22:33:39.367 に答える