Emmad Zahid
Emmad Zahid

Reputation: 508

How to load website HTML using jquery

How can I load some website in my java-script so that I can parse it? I want to get Html of e.g. www.google.com and I want to select all the tags in it using jquery.

Upvotes: 5

Views: 1320

Answers (3)

Edgar Zakaryan
Edgar Zakaryan

Reputation: 576

You can easily set up node server that gets the content of the page, and then make an ajax request to your server and get whatever data you need.

Upvotes: 0

Aamir Shahzad
Aamir Shahzad

Reputation: 6834

Due to browser security restrictions, Ajax requests are subjected to the same origin policy; the request can not be successfully retrieve data from a different domain, subdomain, port, or protocol.

But you can build a script on your server that requests that content or can use a proxy, then use jQuery ajax to hit the script on your server.

Working Fiddle

It's just proxying a request through Yahoo's servers and getting back a JSONP response even if the requested server doesn't support JSONP.

HTML:

<div id="example"></div>

JavaScript

$('#example').load('http://wikipedia.org');

Here is a similar question like yours Ways to circumvent the same-origin policy?

good luck!

Upvotes: 2

Stubborn
Stubborn

Reputation: 968

You can't as jquery doesn't allow you to load external resources, unless in the page you want to parse is present the header:

header('Access-Control-Allow-Origin: http://thesitewhereyourjscodeishosted');

If you can't set it, you could use PHP:

<script>
var website = <?php echo file_get_contents("http://websitetoload"); ?>;
</script>

Upvotes: 4

Related Questions