サーバーへの ajax 要求があり、ユーザーを 2 番目のページにリダイレクトするのがいつ終了するかを知る必要があるだけです。ほとんどの場合は機能していますが、サーバーが応答するのに時間がかかりすぎる場合 (たとえば 10 分)、コールバック関数が呼び出されず、要求が待機し続けることがあります。
私のコードは次のとおりです。
$.ajax({
type: 'post',
url: 'request.php',
success: function(data) {
alert("Success: "+data);
window.location.replace("success.php");
},
error: function (xhr, ajaxOptions, thrownError) {
alert("Ajax error: "+xhr.status+" - "+thrownError);
window.location.replace("error.php");
}
});
ご覧のとおり、エラーがあるかどうかを確認しようとしましたが、到着した限り、ajax リクエストは終了していないかのように動作します (アラートやリダイレクトは発生しません)。ただし、サーバー内の PHP コードは最後までエラーなしで実行されます。
ブラウザとサーバーの両方でタイムアウトの問題を考えていたので、どこでエラーを検索すればよいかわかりませんが、それが原因ではないようです。同じコードが短い待機時間で機能しているため、他の考えられる理由は想像できません。
ありがとうございました!