私はアクションを実行するためにAjax POSTをディスパッチするリンクを持っています。ユーザーがまだサインインしていない場合、アクションメソッドはログインページに302リダイレクトを返します。このような場合は、リダイレクトをキャッチして、ライトボックスにログインフォームを表示することができます。投稿の後にjQuery ajaxがリダイレクトするのを防ぐ方法は?
しかし、jQueryは制御を戻したり、コールバック関数を呼び出すことなく、リダイレクトに従っているようです。以下のコードでは、302リダイレクトの警告が呼び出されることはありません。また、dataFiler関数が呼び出されるまでに、データはログインページの内容になります。
ページが302リダイレクトを送信し、別のアクションに分岐したことを確認するにはどうすればよいですか?
$.ajax(url,
{
data: postArguments,
type : "POST",
success: function (data) { alert(' success function'); },
statusCode:
{
302: function() { alert(' received redirect 302'); },
301: function() { alert(' received redirect 301'); }
},
dataFilter: function (data, type) { alert('got data ' + data); return data; }
});