#在URL中编码为%23并传递给服务器

时间:2012-08-10 14:53:57

标签: html internet-explorer url backbone.js singlepage

我们的单页应用包含基于散列的网址(即#map)。

我的日志中出现了一些错误,类似于下面的错误:

[MissingControllerException] Controller class %23mapController could not be found.

似乎在某些条件下,哈希标记正在被编码,而不是被视为它的特殊字符。

顺便说一句,通过源的grep表示一次导航到该特定位置,

<a href="#map">

我无法重新创建触发此问题的方案。它只发生在不常见的场合。它已被记录为IE 7-9。在其他浏览器中可能会出现此错误,但仅针对IE进行了记录。示例用户代理:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; 360SE)
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; InfoPath.3)
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0)

是否有人知道可能会出现此行为的情况?

1 个答案:

答案 0 :(得分:0)

也许它与正确的编码有关,例如UTF-8 vs iso ...在您的客户端应用上。 我有这个问题使用Spring MVC,我的应用程序中的默认值是utf但在apache中它是iso