Javascript 在查询中使用正斜杠

Javascript 在查询中使用正斜杠,javascript,url,browser,Javascript,Url,Browser,我想要这个 www.example.com/?category=electronics&gadget=mouse 看起来像这样: www.example.com/?electronics/mouse 我通过正常查询执行XHR请求来提取数据。但是我希望使用history.pushState()以最可读的方式在URL中显示过滤器查询。而且在重新加载时,它应该保持在同一页面 浏览器在重新加载时是否可能返回到同一页面?我指的不仅是最现代的,而且是大多数的 注意,第二个url的“/”后面有“?

我想要这个

www.example.com/?category=electronics&gadget=mouse
看起来像这样:

www.example.com/?electronics/mouse
我通过正常查询执行
XHR
请求来提取数据。但是我希望使用
history.pushState()
以最可读的方式在
URL
中显示过滤器查询。而且在重新加载时,它应该保持在同一页面

  • 浏览器在重新加载时是否可能返回到同一页面?我指的不仅是最现代的,而且是大多数的

  • 注意,第二个url的“/”后面有“?”。

    您可以获取当前url并解析出
    后面的文本

    const query=location.href.split(“?”).pop()
    
    这将按每个
    拆分当前URL并返回最后一项

    然后可以通过其结构检索参数

    const[category,gadget]=query.split(“/”)
    
    这将查询的第一个和第二个索引分别分配给变量
    类别
    小工具
    。这和这样做是一样的

    var parts=query.split(“/”)
    变量类别=零件[0]
    var gadget=零件[1]
    
    使用这两个变量,您可以在
    XHR
    请求中传递正确的数据

    对于历史记录请求,只要在加载时运行
    XHR
    请求,您的页面每次都会反映正确的信息。您还可以读取以检测
    历史记录中的更改


    编辑:现在只阅读有关SEO的问题。使用这种方法进行SEO并没有什么用处,因为大多数SEO爬虫在解析信息时不运行Javascript。对大多数爬虫来说,使用Javascript注入元是没有用的。很抱歉正如CBroe所说,您需要服务器端呈现。

    您需要一个服务器端设置,它执行必要的URL重写,并返回所有必要的代码来呈现通过这些URL请求的特定视图。@CBroe我编辑了我的答案。请看“/”后面的“?”。查询字符串可以安全地包含“/”吗?浏览器如何渲染它?“我不需要任何服务器端操作。@Andreas感谢您的评论。我编辑了这个问题。服务器端渲染仍然是您在这里要求的大部分内容的基础。(硬加载后显示的内容相同,搜索引擎机器人的内容可读性第一。)@Mike是的,地址栏中显示的就是这个。在问号后写正斜杠行吗?我也担心搜索引擎优化。