0

everyone. Sometimes I need some way to get some part of external site url in my angular code. But there's obviously no way to do it with native angular services, and I don't wanna use some Jquery library for parsing url. I need some service for url parsing which. Where can I find such service? Thx!

3 Answers 3

13

You can do it in Vanilla JavaScript.

var parser = document.createElement('a');
parser.href = "http://example.com:3000/pathname/?search=test#hash";

parser.protocol; // => "http:"
parser.hostname; // => "example.com"
parser.port;     // => "3000"
parser.pathname; // => "/pathname/"
parser.search;   // => "?search=test"
parser.hash;     // => "#hash"
parser.host;     // => "example.com:3000"

Source: https://gist.github.com/jlong/2428561

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

4 Comments

Can I get any GET parameter by this way?
Of course you can. In my example you'd parse parse.search. Also see: How to get the value from URL Parameter?
OMG! Do you really have to create a virtual <a> element to parse a link?
You could also reuse an existing one, assuming the href attribute contains the same URL you want to parse.
0

I guess you could use the $sce service:

function($scope, $sce) {
 $scope.getHtml = function() {
   return $sce.trustAsResourceUrl(myUrlHere);
 };
}

As mentioned in other post, provided that this is not subject to CORS.

Comments

-4

By Parsing, I'm assuming you mean fetching of content/data from a url.

Proving the url allows any domain ( 'Access-Control-Allow-Origin', '*' ) or your domain, Angular does have ajax functions built in, simular to jquery et all.

http://docs.angularjs.org/api/ng.$http

Copied direct from the anguar doc

$http({method: 'GET', url: '/someUrl'}).
  success(function(data, status, headers, config) {
    // this callback will be called asynchronously
    // when the response is available
  }).
  error(function(data, status, headers, config) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });

2 Comments

No, actually, by parsing I meant getting some parts of url string for example get parameters.
oh ok : ) regular js will do then, Angular would not have any need to recreate that. - use of externalurlstring.split("/") and such - I thought Simone's answer is pretty cool

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.