Issue
I have angular application where i want to pass plus sign + in query string like:
http://localhost:3000/page?name=xyz+manwal
When I am hitting this URL its converting to:
http://localhost:3000/page?name=xyz%20manwal
Where %20 refer to space . How can I prevent this conversion?
Solution
I have found solution and posting it for future reference. Angular js was converting + sign into %2B.
Following code prevented that:
.config([
'$provide', function($provide) {
$provide.decorator('$browser', function($delegate) {
let superUrl = $delegate.url;
$delegate.url = (url, replace) => {
if(url !== undefined) {
return superUrl(url.replace(/\%2B/g,"+"), replace);
} else {
return superUrl().replace(/\+/g,"%2B");
}
};
return $delegate;
});
}
])
Answered By - Manwal
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.