現在、ログインの詳細を含む POST 要求を Python サーバーに送信する HTML ページがあります。Python サーバーはログインを確認し、ヘッダーを介して Cookie を送り返します (私は Python ライブラリに組み込まれている Cookie クラスを使用しています)。200 OK ステータスを取得したらすぐにリダイレクトしたい。問題は、Cookie が十分に迅速に設定されていないため、Cookie が設定される前にリダイレクトが発生し、check_login ページにログインしていないことが表示されることです。
ブラウザに HTTPOnly Cookie を保存させたい。XMLHttpRequest API に、Cookie が保存された後にリダイレクトできるもの、または別の方法がありますか?
ありがとう!
HTTPRequest コード:
var httpRequest = new XMLHttpRequest();
var url = 'http://localhost/login/';
httpRequest.onreadystatechange = function(){
if (httpRequest.readyState == 4) {
if(httpRequest.status == 200) {
window.location = "http://localhost/check_login/";
}
};
httpRequest.open("POST", url,false);
httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
httpRequest.send(/*login details*/);
このリクエストは、ボタンをクリックすることで呼び出されます。このボタンが表示されているページに戻ってもう一度クリックすると、最初のクリックで Cookie が設定されているため、常にログインしたままになります。