jQuery1.7 の jquery.ajax() で 302 は error
正確には 200台, 304 で success、それ以外のステータスコードで error になる。
ソースコードを見てみよう。(このコードはver2.03preのものだが、判定箇所は変わってなかったので多分ok)
ステータスコードの判定を行なっているのは590,591行目。
// Determine if successful isSuccess = status >= 200 && status < 300 || status === 304;
200番代および304なら true それ以外は false となる。
isSuccess は601行目以降などで、successかerrorかの判定に使われる。
具体的に何のステータスコードがerrorになるのか、ググっても中々出てこなかったのでメモ。
自分は 302 Found が返ってくるパターンでハマった。