edit: when I click on an external link and then click the back button, I get the JSON too even with chrome. This is bad.
The best way to circumvent the issue is to prevent the browser from caching the request (ex. cache busting via random querystring parameters), or to use different URLs for the HTML and JSON response (ex. appending '.json' to the end of the path).
The best way to circumvent the issue is to prevent the browser from caching the request (ex. cache busting via random querystring parameters), or to use different URLs for the HTML and JSON response (ex. appending '.json' to the end of the path).