backbone.jsでfetch()でもsave()でもとにかくエラーハンドラが発火してしまう。
ハマった。いやぁ、ハマった。
サーバサイドはきっちり200系でレスポンス返してるのに、クライアントサイドでエラーハンドラが発火するという現象に悩まされていた。
2時間以上、デバッグやトライアンドエラーをしてみたけど、まったくわからなかった。けど、風呂に入ってからググったらココがヒットした。
http://stackoverflow.com/questions/7040039/model-fetch-always-going-to-error-callback
dataTypeに'json' を指定するだけだった。
これがないだけで、イケてない扱いされて、しかも原因のヒントがどこにもなかったっていう。
具体的にはbackbone.jsでajaxのリクエスト先を別のHostにする方法と同じように
$.ajaxPrefilter( (options, originalOptions, jqXHR) -> options.url = $('meta[property="api-url"]').attr('content') + options.url; options.dataType = 'json' )
こんな感じで。