Before Any Anything:$.getJSON back button showing JSON return data not the pageが役に立たなかっただけでなく、https://groups.google.com/group/angular/browse_thread/thread/3787ad609c0beb77/eb1b57069dab9f63もインターネットは役に立ちませんでした。ChromeのJSONブレークバックボタン、IEのリロードボタン(裸のデータとして表示)
私は、この同じページ内jqueryのテンプレートでレンダリングされるJSONデータを取得するために、ページ内からURLを呼んでいる:
は、ここで問題です。
この
$.ajax({
url: '/searchthis', //important, this is NOT THE SAME URL
cache: false,
type: 'GET',
headers: {
"Accept": "application/json",
},
dataType: 'json'
success: function(data) {
doSomethingWithResults(data);
}
});
のようなラック応答はキャッシュなしに設定されたキャッシュ制御ヘッダあり、我々はページhttp://someurl.com/searchにしていると想像し、私たちは、要求を開始している:
Cache-Control:no-cache
すべての作品をただし、クロールに別のページのページを残してから、戻るボタンを押すと、裸のJSONデータが表示されます。 IE8でリロードボタンを押したときと同じ動作があります。アドレスバーのURLでEnterキーを押すだけで、両方とも完璧に機能します。
クローム人はそれを行うことはありませんので、それはそれは本当にすべきものをキャッシュするので、私は、それはブラウザ側の誤解のように私には思える(http://code.google.com/p/chromium/issues/detail?id=108425を参照)、私はこの問題を解決できる方法
が届きません
私は、エクスプレスアプリで同様の問題に遭遇していました。それは、データ値がトリックを行うので、空のオブジェクトでさえ渡しているようです。これを投稿していただきありがとうございます。 – kdetella
確かに、データに書式を送信して修正しました。 '$ .getJSON(path、{format:" json "}、handler_func(response){// do something})'を使って 'json'を使いました。 – Glenn