フォーク、 同じリソースのJSONとHTML表現に同じルートを再利用したWebアプリケーションがあります。 foo/details for now。このページはリンクされていますので、/ bar/detailsと呼ぶことにしましょう。 (だから、/ bar/detailsには - >/foo/detailsへのリンクがあります)。バックボタン(Chrome)Play FrameworkでHTMLの代わりにJsonを取得
最初のページから2番目のページに行くと、すべて正常に動作します。 Chromeで戻るボタンをクリックすると、元のページがHTMLではなくJSONとしてレンダリングされます。ブラウザでリフレッシュすると、JSONではなくHTML表現が得られます。ここで
は、私はHTML対JSONを検出するために使用しているコードです:res.result.map { group =>
render {
case Accepts.Html() => Ok(views.html.groups.details(group))
case Accepts.Json() => Ok(Json.toJson(group))
}
}.getOrElse(NotFound)
これは、このパターンの標準的な実装であり、それはどこでも動作しますが、私は特定のではChromeで[戻る]ボタンを使用し除く状況。
私はクリアしていない、またはJsonでレンダリングするためにPlayを混乱させるAjaxを使ってページが行っていることがありますか?あるいは、Chromeがページをキャッシュしていますが間違った受け入れヘッダーをキャッシュしますか?
私はJsonとHtmlの2つの異なるルートを使ってこの問題を回避することができますが、私はあきらめているように感じます。
誰でも、このボタンの動作に何が起こっているかについては何か考えていますか?
一部のブラウザキャッシュがある場合があります。別のブラウザで試してみましたか? –
Chromeのブラウザキャッシュは間違いありません。 –