ajax を使用して認証されていない GET リクエストを実行した後、サーバーにアプリケーションをリダイレクトさせようとしています。ただし、リダイレクトを取得すると (サーバーは場所の /login.html で 303 を送信します)、firebug コンソールの [応答] タブを表示すると、応答で login.html の完全な HTML を取得します (これは正常な場合があります。わからない)。次に、これをfirebugで表示すると、リダイレクトを実行しようとしていることがわかりますが、コンソールはそのアクションで回転しているだけです(処理を終了することはありません)。私はいくつかの関連情報をオンラインで見つけようとしましたが、うまくいきませんでした.私が見つけた最も近いものはHERE.
JavaScriptでこれを処理する方法は次のとおりです。
function doSomethingAwesome()
{
try
{
ajaxObject.open("GET", serverLocation+ '?action=getSomeInfo', true);
ajaxObject.send();
}
catch(err){}
}
ajaxObject.onreadystatechange = function()
{
if(ajaxObject.status == 200 && ajaxUsers.readyState == 4)
{
do some stuff
}
}
私の応答ヘッダーには次の情報があります: 303 See Other Connection: Keep-alive Date Location: /login.html Server nginx/1.2.7 Transfer-Encoding: chunked したがって、 onreadystatechange 関数はリダイレクトに実際に影響を与えるべきではありません (私が理解していることから) )しかし、私はそこにそれを投げると思いました。ここで実際に起こっていることは、サーバーと通信して情報をロードすることだけです。ログインしていないことがわかり (GET か POST かに関係なく)、ログイン ページへのリダイレクトを受信する必要があります (起こりません)。これがとりとめのないように聞こえる場合は申し訳ありませんが、誰かが提供できるアドバイスや助けをいただければ幸いです。