バックボーンを使用したRailsアプリがあります。 戻るボタンまたは前面ボタンをランダムにクリックすると、jsonが表示されます。
詳細情報を提供できますか? 現在、多くの人がRailsの本番環境でBackboneを使用しており、同じ動作は見られません。
問題を正確に再現できるように、具体的にはテストケースを提供してください。
私は同じことを経験しています-外部URL(バックボーンアプリによって処理されない)に移動するか、タブを閉じてから戻ったり、タブを再度開いたりすると、JSONが表示されます。 テストケースをどのように提供できるかわかりませんが、何が起こっているのかを知る手がかりとなる可能性のある詳細をいくつか共有できます。
アプリケーションは_.delay関数を使用して、モデルコレクションをサーバーと同期します(collection.fetch())。 サーバーは、同じURLで同期するためにアプリとJSONの両方を提供するRoRアプリであり、ヘッダーを使用して、アプリ全体を提供する必要があるのか、モデルのデータのJSON配列のみを提供する必要があるのかを決定します。 それが問題になるのでしょうか?
私の他の考えは、ブラウザがサーバーに対して行った最新の要求をキャッシュし、押し戻すとそれをレンダリングするというものです。 (最初の同期リクエストの前に)アプリをすばやく終了できた場合、戻るとアプリがレンダリングされます(JSONではありません)。
これを克服する方法について何かアイデアはありますか?
私はこれを行うことで問題を解決しました
$.ajaxSetup
beforeSend: (xhr) ->
xhr.setRequestHeader "Accept", "application/json"
cache: false
ありがとう!
私のため
$.ajaxSetup
cache: false
十分でした
+1
+1
RoRアプリでも同じ問題が発生し、ソリューションが機能しました。
ありがとう@ omenking @ antonlitvinenko
さらに良いことに、常に明示的に.json
拡張子をURLに追加し、ブラウザにjsonとページhtmlの両方をキャッシュさせます(気にしない場合)。つまり、 /users/1
+ /users/1.json
同じURLのキャッシュエントリを上書きする代わりに
@Sijaあなたは正しいですが、明示的な.jsonに変更しました。テストを行うと、jsonの同じ問題がページを上書きします。 私が何を間違っているのか分かりますか? hehe
tks
+1
最も参考になるコメント
ありがとう!
私のため
十分でした