在查询中使用正斜杠

时间:2020-09-14 13:56:27

标签: javascript url browser

我想要这个

www.example.com/?category=electronics&gadget=mouse

看起来像这样:

www.example.com/?electronics/mouse

我通过对普通查询执行XHR请求来提取数据。但是我希望通过使用URL以最易读的方式在history.pushState()中显示过滤器查询。并且在重新加载时,它应该保留在同一页面上。

  1. 在重新加载时,浏览器是否有可能返回同一页面?我的意思是不仅是大多数现代建筑,而且是大多数建筑。

注意,这里有“?”在第二个网址的“ /”之后。

1 个答案:

答案 0 :(得分:1)

您可以获取当前URL并解析出def get_company_register_number(string, keyword): reg_1 = fr'\b{keyword}\b[,:|\s]*(\w+)' match = re.compile(reg_1) company_register_number = match.findall(string) # list of matched words if company_register_number: # not empty return company_register_number else: # no match found company_register_number = [] return company_register_number string = "HRB: 21156" get_company_register_number(string, 'HRB') >>>>>> ['21156'] 之后的文本。

?

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

然后,您可以按其结构检索参数。

?

这会将查询的第一个索引和第二个索引(分别由const [category, gadget] = query.split("/") 分配给变量/category。就是这样做。

gadget

使用这两个变量,您可以在var parts = query.split("/") var category = parts[0] var gadget = parts[1] 请求中传递正确的数据。

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

编辑:现在只阅读关于SEO的关注。使用SEO可以用这种方法做的事很少,因为大多数SEO搜寻器在解析信息时不会运行Javascript。对于大多数爬虫来说,拥有Javascript注入元将毫无用处。抱歉。正如CBroe所说,您需要为此进行服务器端渲染。