Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url angularjs$location.hash生成##,但我需要#_Url_Angularjs - Fatal编程技术网

Url angularjs$location.hash生成##,但我需要#

Url angularjs$location.hash生成##,但我需要#,url,angularjs,Url,Angularjs,AngularJS 1.2.0(但较低版本也有同样的问题) 我有一个带有一些小部件的web应用程序,希望将它们的状态保存到URL中。 我现在使用$location.hash('param1=1¶m2=678')命令来实现这一点。但我得到的url是:domain.com/#param1=1¶m2=678 它工作正常,我可以恢复我的应用程序的状态。我遇到的一个问题是,当有人在邮件应用程序中单击这样的链接时,他们的浏览器将其中一个哈希值编码为/23,因此我的应用程序出错。我怎样才能解决

AngularJS 1.2.0(但较低版本也有同样的问题)

我有一个带有一些小部件的web应用程序,希望将它们的状态保存到URL中。 我现在使用
$location.hash('param1=1¶m2=678')
命令来实现这一点。但我得到的url是:
domain.com/#param1=1¶m2=678
它工作正常,我可以恢复我的应用程序的状态。我遇到的一个问题是,当有人在邮件应用程序中单击这样的链接时,他们的浏览器将其中一个哈希值编码为/23,因此我的应用程序出错。我怎样才能解决这个问题?谢谢

这里是普朗克:
您需要在新窗口中打开它才能测试哈希值这不是最佳答案,但您可以尝试注入$locationProvider并设置:

$locationProvider.html5Mode(true);
这样angular就可以在HTML5模式下运行,并且不使用hashbang。我建议您提供更多信息。

尝试使用

$location.search("key", "value")
相反。 如果您有复杂状态,甚至可以直接向搜索方法提供对象:

$location.search({foo: bar, baz: duh});

对于angular中的标准哈希位置,可以使用

location.path("myappstate/1");

as angular设置为将第一个哈希状态作为应用程序的主要url或路径。location.hash()在主散列状态(路径)上设置一个辅助散列。

我以前使用.search()进行序列化,但现在转到散列,因为自己解析字符串更好。我仍然没有解决这个问题。如果有人想看到实际行动:可能是因为href=“#”在您的锚定标签中?尝试使用href=“javascript:”相反,我刚刚注意到,相同的行为(双哈希)也发生在weirdIt的中,实际上是
location.hash='myhash'