0

私は教義でzend1.11フレームワークを使用しています。ドロップダウンリストなどを入力するために、以下のajaxリクエストを送信しています...しかし、セッションが期限切れになると、コントローラーのすべてのアクションでログインページにリダイレクトします。したがって、セッションが期限切れになった場合の応答として、htmlページ全体を取得しています。javascriptでそれを行う方法(HTML応答全体を見つける方法を教えてください)。セッション管理にZend_Authを使用しています。

function loadzone(value)

{

var xmlhttp;

if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
   xmlhttp.onreadystatechange=function()
   {
   if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {

    document.getElementById("district_span").innerHTML=xmlhttp.responseText;

    }
   }
xmlhttp.open("GET","/main/zonechange?zc="+value,true);
xmlhttp.send();



}
4

1 に答える 1

2

私の理解では、ユーザーがログインして何らかのフォームを開きます。AJAX-Checkups を実行して、ユーザーがまだログインしているかどうかを確認します。ユーザーが長時間アイドル状態だった場合、セッションは期限切れになります。その場合、ユーザーをリダイレクトしますか?

もしそうなら、ユーザーに悪いコールバックを与えることができると思います。これは次のように行うことができます。

$this->_response->setHttpResponseCode(401); //401 = unauthorized

その場合、JS 機能を拡張してそのコードをキャッチできます。

if (xmlhttp.readyState==4 && xmlhttp.status==401) {
  //do the redirect
}

これはあなたが求めているものですか、それとも私があなたの質問を誤解しましたか? :) 応答コードに関する追加情報はこちらにあります: http://de.wikipedia.org/wiki/HTTP-Statuscode

于 2011-09-24T19:30:40.757 に答える