-1

ajaxを使用してUsersコントローラーのCakePHPログイン機能でログインしているとき。エラーは、ログイン フォームの上の Div に表示されます。しかし、ログインに成功したら、ページをホームページにリダイレクトしたいと考えています。Users コントローラーで使用$this->redirect('home');している場合、Div のみが更新されます。

ページ全体がリロードされるようにするにはどうすればよいですか? JSHelper で Writebuffer メソッドを使用しているため、Javascript ではなく PHP でこの問題を修正します。

ありがとう!

4

1 に答える 1

1

これはクライアント側で解決する必要があります。クライアント ブラウザーは AJAX 応答を取得し、出力を DIV 内に配置するためです。

ただし、AJAX 応答内に JavaScript コードを埋め込むことはできます。たとえば、ログインが正しくない場合は、window.location JavaScript コードを出力内に配置します。しかし、これは良い解決策ではありません。

AJAX 応答内で HTTP ステータス コードを返します。たとえばコードが 401 の場合、リダイレクトします。

if (data == '401') {
  document.location.href="http://example.com";
}
于 2012-12-22T12:47:50.853 に答える