24

I'm trying to change the URL with AngularJS, but not with a redirect, just change the URL after an event.

What I need is this:

www.myurl.com/inbox/1 to this www.myurl.com/inbox/25

In other words, just change the last Id.

I'm trying to do this:

$location.path('/inbox/'+id);

But what I'm getting is this:

www.myurl.com/inbox/1#/inbox/25

4

3 Answers 3

19

usually angular URLs look like

www.myurl.com/#/inbox/1

in which case

$location.url('/inbox/25');

should work for you

Sign up to request clarification or add additional context in comments.

Comments

18

Angular enforces the idea of one page web app. Browsers don't take any actions on change of anything after '#' value. So the best practice is to add variable attributes in url after '#' value which will keep the base url and attribute look clean on browser's address bar as well as solve your problem. My advice is to keep username, page no. , or any specific attribute id after '#' value. In your case you should use something like above said

www.myUrl.com/#/inbox/25

or

www.myUrl.com/inbox/#/25

Comments

0

For that you should use .url() instead of .path()

$location.url(`/inbox/${id}`)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.