AJAX呼び出しを発行するクライアントがあります。これらの呼び出しは、サーバー側のSpringSecurityによって保護されているURLを参照します。ユーザーのセッションがタイムアウトした場合、ライトボックスにログインフォームのポップアップが表示されます。ユーザーが正常にログインした後、クライアントにAJAX呼び出しを再実行してもらいたい。
AJAX呼び出しを行うクライアント側コードの例を次に示します。
function handleSearchClick(evt) {
var setupOptions = {
success: loadSearch,
type: "POST",
dataType: "json",
url: "../search.ajax",
error: handleError, // how can I pass callback info i.e. I want to be able to execute $("#searchForm").ajaxSubmit(setupOptions); from handleError?
timeout: 50000
};
$("#searchForm").ajaxSubmit(setupOptions);
}
認証が失敗すると、サーバーは401を返し、その結果、クライアントはhandleErrorを呼び出します。handleErrorにコールバック関数を渡すことは可能ですか?コールバックを再実行したい
$("#searchForm").ajaxSubmit(setupOptions);
セッションがタイムアウトしたAJAX呼び出しでサーバーが成功応答を返すというこの問題の解決策を見てきました。次に、success関数は、セッションタイムアウトを知るために、応答で何かを探します。次に、クライアントはそこにコールバック関数を格納します。私はこれをエラー関数で処理することを好みます。