【问题标题】:Ajax - maintaining state in the url - no #Ajax - 在 url 中维护状态 - 否 #
【发布时间】:2017-08-20 23:53:09
【问题描述】:

我在一个有两个搜索参数的 AJAX 网站上工作。我做了一些 mod-rewrite 并检查 $_GET 变量,以便我可以做类似的事情..

site.com/var1/var2/ -> 根据参数自动进行搜索。

现在我想要的是让手动搜索的人能够拥有该格式的网址。我能找到的唯一方法是使用..修改网址。

location.hash = 'foo';

这将使它类似于..site.com/#var1

这不如 mod-rewrite 好。我发现有效的是,如果在执行 ajax 调用的搜索功能中我有此代码

     // avoid appending further variables if there are already variables
     if(location.href == 'some absolute website path')
        location.href = var1+'/'+var2+'/';

这会起作用,但基本上会强制页面加载,然后由于 mod-rewrite,我的自动搜索 php/javascript 将启动。所以这可行,但是它涉及我宁愿避免的额外页面刷新。

还有更好的解决方案吗?理想情况下,如果我能够使用 location.href 在我更改值后它不会导致页面加载,但只是更改 url 将是理想的(在维护我的 mod-rewrite 链接的同时,没有 #标记)。

我正在使用 jquery 和 php。

【问题讨论】:

    标签: javascript ajax mod-rewrite


    【解决方案1】:

    设计就是这样,你无法在不引起新请求的情况下更改 url 或路径。问候。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-02
      • 2013-03-06
      • 2016-07-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多