如何在AngularJS中使用带有$ location.path()的Querystring

aik*_*tto 20 javascript angularjs

我想在使用查询字符串成功登录后将用户重定向到另一个页面.如果我复制并粘贴到浏览器的地址栏,http://example.com/#/login?ref=/path/to/redirect它可以正常工作.但是,如果我使用

$location.path("/login?ref=/path/to/redirect");
Run Code Online (Sandbox Code Playgroud)

网址看起来像

http://example.com/#/login%3Fref=/path/to/redirect
Run Code Online (Sandbox Code Playgroud)

如何将%3F解码为'?' ?谢谢

Ste*_*rov 45

它应该是

$location.path('/login').search('ref', '/path/to/redirect')
Run Code Online (Sandbox Code Playgroud)

  • 遗憾的是,如果您在路由上将reloadOnSearch设置为false,则此方法无效.Angular认为这是重载,因为它没有同时设置.我应该在angular.js中打开并发出此问题,但您是否可以同时设置路径和查询(除了直接设置位置对象,这将导致完全重新加载) (2认同)