weixin_33709219 2015-02-03 19:20 采纳率: 0%
浏览 33

AJAX POST浏览器历史记录

i'm having a very annoying problem that didn't figure out yet.

I'm developing a Web system using "Single Page Application Paradigm", but without any framework like angular, backbone, etc.

We load the page once and almost all other pages are load via ajax. The problem starts when we the user click on the Back button of Browser. Since there is no page reload, after the user login in the system, no url is changed and when the users try do use the back button from the browser, he's redirected to login page, cause it's the last page he "visited".

All the content is load via ajax post (not very proud of) and now we must support the back/foward button. I tryed using HTML5 History API but with no success. I was able to register the 'popstate' callback and tryed to simulate a post again. But there are fields in the page that i must restore. I'm not sure if i can find it but what i need is like to restore the page to the state before the request was sent, like a snapshot.

Can anyone give me a hand ?

Thanks! (I'm desperate :D)

  • 写回答

2条回答 默认 最新

  • weixin_33701617 2015-02-03 19:28
    关注

    You could look into using the fragment identifier (stuff after the # in a URL) to keep track of what "page" you're on, and this is what some frameworks do. Most browsers can listen for changes to that, and the browser history plays nice with it, so you can retrieve the value when it changes and take appropriate action.

    评论

报告相同问题?