The jquery load in the below code doesn\'t work. What I\'m missing here?
To load external link in ".load()"
create page say external.php
In external.php put following code:
<?php
$url = 'http://ur/url/here';
echo $var = get_file_contents($url); ?>
now load this page in jquery n it will load external link
$('div').load('external.php');
You are requesting a page that is on a different domain so Cross-Domain-Policies apply. You can only access data cross-domain if the remote-server allows it (and only using JSONP I believe, anyone please correct me if I'm wrong on this). If you want to grab the source of a Google page, you will need to do it with a server-side script as a proxy for your jQuery:
$(function() {
//notice the client-side code (JS) is requesting a page on the save domain
$("#dialog").load('my-script.php #maia-main');
});
And in my-script.php
you would grab the remote page you want:
<?php
//PHP, like all server-side languages has no cross-domain-policy
echo file_get_contents('http://www.google.com/intl/en/about/index.html');
?>
Docs for file_get_contents()
: http://www.php.net/file_get_contents
Script Execution
When calling .load()
using a URL without a suffixed selector expression, the content is passed to .html()
prior to scripts being removed. This executes the script blocks before they are discarded. If .load()
is called with a selector expression appended to the URL, however, the scripts are stripped out prior to the DOM being updated, and thus are not executed. An example of both cases can be seen below:
Here, any JavaScript loaded into #a
as a part of the document will successfully execute.
$('#a').load('article.html');
However, in the following case, script blocks in the document being loaded into #b
are stripped out and not executed:
$('#b').load('article.html #target');
Source: jQuery.com
try to move your script to server, jquery ajax not work always on local.