Hi, I'm trying to migrate my Angular 1.0.8 application to 1.2.x and got 
stuck with this issue.

I have following routing:

 $routeProvider.when('/title/:simpleName/:simpleVersion', {templateUrl: 
'partials/public/view/spec.html', controller: SpecificationCtrl});
 $routeProvider.when('/title/:simpleName', {redirectTo: 
'/title/:simpleName/latest'});

And in one of my directives, I'm creating anchors like this:

link: function(scope, elem, attr) {
   elem.html('<a href="#/title/' + 
encodeURIComponent(encodeURIComponent(simpleName)) + '/">...</a>')
}
where simpleName can be some string like x/y++_test.

In Angular 1.0.8, if user clicks on such link, browser contains following 
URL:

.../title/x%252Fy%252B%252B_test

and everything works fine. But with Angular 1.2, browser for a second 
contains again the escaped form and then URL in browser changes to

.../title/x/y++_test

which is problem as it may not match my routing rules and routing 
parameters. When this change happens, according to Chrome Dev Tools, the 
page as such is not reloaded and controllers are created just once when the 
totally decoded URL is displayed. Is there some new change that causes? How 
could I make it working the same way as in 1.0.8 ? I've searched Angular's 
changelog but haven't found any mention of url decoding. More interesting, 
I encoded the string twice and yet it is fully decoded

Here are 2 plunkers that demonstrate the difference. Simply click on "here" 
link and see the printed URL:

   - Sample with Angular 
1.0.8<http://plnkr.co/edit/VQUFclZHkJIUgMnKMbLx?p=preview>
   - Sample with Angular 
1.2.13<http://plnkr.co/edit/Dz4K9ElK6cW22ABV0M6E?p=info>
   

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to