我有一个没有任何路由的ASP.NET MVC项目(使用默认值)。我在我的项目中使用history.pushState
如下:(成像,我们在products
页面)
history.pushState(null, null, '#/param1/param2');
网址更改为:www.domain.com/param1/param2
,但我预计会:www.domain.com/products#/param1/param2
。
请注意,如果我使用(例如)-
/
字符实例,它会按预期工作。
没有JavaScript
或C#
错误。
为什么它没有按预期工作?
答案 0 :(得分:0)
您的通话似乎在Firefox,Chrome和IE上运行良好,但我仍然不排除它是特定于浏览器的。
你应该使用history.pushState({}, '', '#/param1/param2');
。
实际上,您可能要考虑根本不考虑使用history
哈希标记,而是使用location.hash
。
你可以像这样使用它:
locaction.hash = '/param1/param2'