Javascript 如何防止浏览器上的页面刷新返回到ajax调用生成的页面 我的应用程序有一个搜索结果页面和详细信息页面 每次页面刷新的结果都不同 用户可以优化生成ajax调用的搜索,更新结果,更新URL,更新window.history 当用户单击结果链接并导航到详细信息,然后使用浏览器返回按钮返回结果页时,预期的行为是查看以前的结果,但搜索结果页正在刷新,结果不同 如果没有进行任何改进,并且结果来自于整页刷新,那么它将按预期工作

Javascript 如何防止浏览器上的页面刷新返回到ajax调用生成的页面 我的应用程序有一个搜索结果页面和详细信息页面 每次页面刷新的结果都不同 用户可以优化生成ajax调用的搜索,更新结果,更新URL,更新window.history 当用户单击结果链接并导航到详细信息,然后使用浏览器返回按钮返回结果页时,预期的行为是查看以前的结果,但搜索结果页正在刷新,结果不同 如果没有进行任何改进,并且结果来自于整页刷新,那么它将按预期工作,javascript,Javascript,有没有办法推送ajax调用结果? 我不明白结果页的实际状态存储在哪里。因为history.state具有页面的URL 为什么每次你的搜索结果都不一样?您应该能够在URL中存储搜索所需的所有参数。您可以将以前的搜索结果存储在本地存储中,但我确实认为您的搜索结果应该保持不变。如果您使用的是单页应用程序,那么只需保留搜索结果位置的缓存即可。如果没有,则可以使用本地存储来保留位置或cookie。将cookie用于这种逻辑是一种代码味道。本地存储更好。我更喜欢使用与window.history用于返回的机

有没有办法推送ajax调用结果?
我不明白结果页的实际状态存储在哪里。因为history.state具有页面的URL

为什么每次你的搜索结果都不一样?您应该能够在URL中存储搜索所需的所有参数。您可以将以前的搜索结果存储在本地存储中,但我确实认为您的搜索结果应该保持不变。如果您使用的是单页应用程序,那么只需保留搜索结果位置的缓存即可。如果没有,则可以使用本地存储来保留位置或cookie。将cookie用于这种逻辑是一种代码味道。本地存储更好。我更喜欢使用与window.history用于返回的机制相同的机制。因为如果不进行任何改进,页面的完整状态将存储在某个位置,并在不刷新页面的情况下恢复@SteveTomlin@SpeedOfRound,搜索结果存在一些随机性,即业务规则