Javascript window.history.pushState后退按钮工作,但单击后退后不前进

Javascript window.history.pushState后退按钮工作,但单击后退后不前进,javascript,jquery,html,ajax,model-view-controller,Javascript,Jquery,Html,Ajax,Model View Controller,以上是我正在使用的函数,一旦控制器的ajax响应为真。我以HTML的形式获取数据,并将其转储到正文中。然后调用上面的函数,我更改URL 一切正常,单击“上一步”按钮后,我可以进入Index1(localhost/user/Index1)页面,但在Index1页面中,我单击“前进浏览器”按钮,HTML不会仅更新URL更改,而只更新到localhost/user/index2显示更新HTML的代码部分window.location.href=window.location.href没有任何作用。@M

以上是我正在使用的函数,一旦控制器的ajax响应为真。我以HTML的形式获取数据,并将其转储到正文中。然后调用上面的函数,我更改URL


一切正常,单击“上一步”按钮后,我可以进入Index1(localhost/user/Index1)页面,但在Index1页面中,我单击“前进浏览器”按钮,HTML不会仅更新URL更改,而只更新到localhost/user/index2

显示更新HTML的代码部分<在您的popstate事件处理程序中,code>window.location.href=window.location.href没有任何作用。@MikaelLennholm:[link]因此我有两个页面Index1和Index 2,加载时Index1页面加载,当在按钮中单击时,我在索引1页面上有一个按钮,我使用Ajax和MVC控制器的部分视图加载索引2。所以,一旦ajax成功调用,我就会将HTML转储到body中,然后更改URL并使用上面的函数processAjaxData();所以请使用“后退”和“前进”按钮帮助我导航。单击后退按钮时,用户应转到Index1,单击前进按钮时,用户应转到Index2。
function processAjaxData(response, urlPath) {
window.history.pushState({}, '', '/user/index2');
$(window).bind('popstate', function () {
    window.location.href = window.location.href;
});