我们的新网址结构如下
http://domain.com/#/test?utm_source=test&utm_medium=test
我们需要在URL中保留#(哈希符号),因为应用程序依赖它,但同时我们还需要查询字符串才能工作但问题是如果URL包含#并且应用程序/服务器不连接,则浏览器会从请求中跳过查询字符串收到他们。
答案 0 :(得分:0)
你做不到:
https://en.wikipedia.org/wiki/Fragment_identifier 由散列标记#引入的片段标识符是文档的URL的可选的最后部分。它通常用于标识该文档的一部分。通用语法在RFC 3986中指定.URI中的哈希标记分隔符不属于片段标识符。
解决方案:
省略此标记并始终在此路由位置使用主题标签
使用urldecode作为$ _GET参数
答案 1 :(得分:0)
首先,它不起作用;但你可以做的一件事是,在页面上放一个javascript
代码,在那里比较路线和&对API的AJAX请求(仅返回所需的数据)。伪代码可以,
window.onload = function(){
if(window.location.hash == "you needed"){
xhr(url_needed_with_json_or_xml);
}
}
注意:缺点是您可能需要在客户端js
保留路由,否则请更改基于哈希的网址路由。