繁体   English   中英

HTML5历史记录/状态API,AJAX,PHP重定向,URL更改

[英]HTML5 History/State API, AJAX, PHP redirect, URL change

我的网站使用History.js HTML5历史记录/状态API(pushState,statechange事件等),并通过AJAX(jQuery)将页面加载到我的.content div中。

正常工作,直到我完成URL重定向服务器端为止(CakePHP $ this-> redirect($ url);)。 我重定向到的页面内容更新正常,但是我想向历史记录添加新状态。

我应该怎么做? 有没有一种方法可以检查AJAX响应以了解请求是否已重定向,还是应该从另一个方向解决问题?

博客文章的管理员列表。 /职位/指数
用户选择一个帖子。 /职位/开/ 13
用户点击“删除帖子” / posts / delete / 13

从数据库中删除后,请求将重定向到清单,但地址栏仍为/ posts / delete / 13
我想用新的历史记录URL(/ posts / index)替换当前状态(/ posts / delete / 13)。 但是我怎么知道AJAX请求是否被重定向?

我想出了(IMO)临时解决方案。

服务器端重定向:检查请求是否异步。 如果是,请不要重定向,而是在响应中添加“重定向到”标头并将其发送(正文为空)。 客户端检查响应是否具有标题。 如果是,请执行replaceState并为接收到的“重定向到” URL进行新的ajax调用。

你怎么看待这件事?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM