当在history.pushState中使用'/'字符时,MVC重写URL

时间:2015-05-11 07:40:56

标签: javascript c# asp.net-mvc pushstate

我有一个没有任何路由的ASP.NET MVC项目(使用默认值)。我在我的项目中使用history.pushState如下:(成像,我们在products页面)

history.pushState(null, null, '#/param1/param2');

网址更改为:www.domain.com/param1/param2,但我预计会:www.domain.com/products#/param1/param2

请注意,如果我使用(例如)- /字符实例,它会按预期工作。

没有JavaScriptC#错误。

为什么它没有按预期工作?

1 个答案:

答案 0 :(得分:0)

您的通话似乎在Firefox,Chrome和IE上运行良好,但我仍然不排除它是特定于浏览器的。

你应该使用history.pushState({}, '', '#/param1/param2');

实际上,您可能要考虑根本不考虑使用history哈希标记,而是使用location.hash

你可以像这样使用它:

locaction.hash = '/param1/param2'