Я пытаюсь удалить querystring (с токеном приглашения) из URL-адреса без перенаправления страницы.Как вручную изменить историю в angular.js
Так пример URL выглядит следующим образом:
example.com/?invitation=fooo
Я включил нг-маршрутизатор, и я использую hashbang (я не могу использовать режим html5 в нашем проекте) для маршрутов, но этот запрос string является частью основного url (до #), потому что я хочу, чтобы сервер увидел его.
В обычном приложении я бы просто использовать API истории:
history.replaceState(null, null, '/');
Но в применении с Угловым это вызывает ошибку:
Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
Я не могу использовать $ местоположения. путь, потому что AFAIK позволяет изменять только угловую маршрутизируемую часть URL-адреса, т. е. часть после # в моем случае. $ location.search даже не видит.
Знаете ли вы, как удалить запрос с url с угловым без перенаправления страницы?
Как я уже сказал, эта строка запроса не находится в маршрутизируемой части, потому что она до hashbang, и я не использую html5mode. $ location.search не видит:/и не может его изменить. – kriskodzi
Что такое «маршрутизируемая» часть? '$ location' прекрасно в состоянии изменить URL-адреса, например' http: //www.foo.com? bar = 23 # baz'. – khellang
Как я в режиме hashbang, пример url может выглядеть так: 'www.example.com/?invitation=fooo #!/Base/path? Foo = bar # baz' по маршрутизируемой части Я имею в виду это после #! – kriskodzi