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 が返ってくるパターンでハマった。