jquery – 更新AJAX调用的URL?

前端之家收集整理的这篇文章主要介绍了jquery – 更新AJAX调用的URL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
现在我使用AJAX最大的问题是,如果我在页面上使用AJAX,请转到另一个页面,然后使用浏览器的返回按钮返回任何使用AJAX更改的内容

我已经考虑过使用jQuery Addresss插件解决这个问题,但是我不喜欢它仅仅修改了“#whatever.html”的URL,而不是完全改变它。

理想情况下,当我进行相关的AJAX调用时,我想要的是将URL从:“www.example.com/p:2/”转到“www.example.com/p:3/”。

这是可以吗

解决方法

不,这是不可能的。更新:现在可以通过HTML5历史记录API – 参见 razbakov’s answer

我希望你意识到你正在努力解决一个非常困难的问题。

让我们说你的网址看起来像

http://example.com/mypage/

如果以编程方式更改窗口位置

http://example/mypage/1/

浏览器将接管并尝试导航到该页面,那里有您的花哨的ajax代码

那有什么办法呢?你使用URL片段。

假设你有这样的URL,

http://example.com/anotherpage/#section

浏览器将首先加载http://example.com/anotherpage/,并尝试找到一个名为“section”的锚点并滚动到该位置。这个行为被’Addresses’插件所利用。这与“滚动到顶部”链接的工作方式类似。

所以如果你在页面

http://example.com/mypage/

并将URL更改为

http://example.com/mypage/#1

浏览器不会加载新页面,而是尝试找到名为“1”的锚点并滚动到该锚点。

即使您已经设法添加到URL的片段,这并不意味着工作完成。如果用户按下后退按钮,DOM将被重置,您将不得不解析这些片段并重新创建DOM。这绝对不是微不足道的。

猜你在找的jQuery相关文章