How can I pass keyword (containing special characters) as a $routeParam to AngularJS App?
$routeProvider.when('/search/:keyword', {templateUrl:'someURL', controller:SearchCtrl})
This keyword can contain special characters.
So, I did encodeURIComponent to the "keyword" before redirecting to this page.
When this "keyword" has some special characters such as "$, @, &, comma" etc. then the controller is executing twice.
EX: If the keyword has '$' symbol, the Controller
- Executes 1st with encoded form of that symbol (#/search/%24)
- Executes 2nd with actual symbol (#/search/$)
This does not happen in the case of carat('^') symbol.
Am I missing out somewhere or Is my approach incorrect.
Using a workaround to deal with this kind of scenario:
Calling the above function before I pass the search keyword to the URL
NOTE: utils is a factory.