0

AJAX リクエストを介して呼び出されたときにプラグインでページ全体をリダイレクトする方法はありますか?

認証されていないユーザーをログインページにリダイレクトするために使用しているコードを次に示します。

public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request) {
    if ($request->getControllerName() != 'authentication') {
        if (!Zend_Auth::getInstance()->hasIdentity()) {
            $request->setControllerName('authentication');
            $request->setActionName('login');
            return;
        }
    }
}

これは通常のリクエストでは機能しますが、ユーザーがログアウトした後に AJAX リクエストを行うと、ユーザーをログイン ページにリダイレクトしたいと考えています。私が今持っているものを使用して、AJAX 要求の結果を格納するように指定された HTML 要素内のログイン ページの HTML を読み込みます。

現在のページ内にログインページをロードするだけでなく、ブラウザをログインページにリダイレクトするにはどうすればよいですか?

4

1 に答える 1

0

私があなたを正しく理解しているなら。draw010 は正しいです。ajax 呼び出しは、ユーザーが実際に見て対話しているものではなく、別の http 要求です。したがって、javascript を使用しないと、php はある http 接続から別の接続にジャンプしてリダイレクトを実行することができません。PHP は「アクティブ」言語ではなく、「リアクティブ」言語です。つまり、ページがロード/更新されるまで何もしません。

ただし、ajax を介してリダイレクトを処理する場合、または ajax を使用しない場合は、リダイレクトのイニシエーターになります。とにかく、それが実際にプロセス全体をトリガーするための呼び出しを行っているからです。

于 2012-06-08T15:27:37.433 に答える