2013-12-23 1 views
6

この質問は、友人が今日私に尋ねたところ、それは一日中私を悩ませています。私は適切な方法を検索する数十のフォーラムを作った外部のHTMLコンテンツを取得し、それを私のページに表示するにはjqueryまたはajaxを使用して外部のHTMLページコンテンツを取得する方法

私はhttp://www.someExternalURL.comにアドレスし、このページからすべてのhtmlを取得したいと思います。 私は以下を試しました:

$.ajax 
({ 
    url: "http://www.someExternalURL.com", 
    type: "GET", 
    cache: false, 
    crossDomain: true, 
    data: {}, 
    jsonp: 'jsonCallback', 
    dataType: "jsonp", 
    success: function (data) { 
     alert('good'); 
     jsonCallback = data.Result; 
    }, 
    error: function (e) { 
     alert(e.responseText); 
    } 
}); 

うまくいかなかった。

は、次に私が試した:

var all; 
$.get("http://localhost:60939/About.aspx", function (my_var) { 
    alert(my_var); 
} 

後者は、ローカルページのために良いことだけ。 と私は外が必要です

何か助けていただければ幸いです。事前

+0

また、cURL – Jacob

+0

を使用することもできます。1行のPHPを使用して外部Webページを表示できるので、jQueryを使用する必要がありますか? – Enijar

+1

**私はこの質問の回答をここに書いています: [jQuery AJAXを使ったクロスドメインHTMLページの読み込み](http://stackoverflow.com/questions/15005500/loading-cross-domain-html-page-with-jquery- Ajax/17299796#17299796)** – jherax

答えて

1

ありがとうございます、外部のサイトには、JSONの結果が返される方法に特別な実装を行うことによって、それを許可する場合にのみ、JSONPを使用することができます。

あなたはカールを使用して、WebサイトにホストされているURLのプロキシを使用することができ、または任意の所望のコンテンツをダウンロードすることを意味するような

http://YOURSITE.com/get.php?=http://www.EXTERNALSITE.com/json

+0

これまでに提供されていた実際のソリューションのみ –

2

は、これを行うには多くの方法、サーバー側のコードを使用してあります。 JavaScriptよりも少ない行でこれを実現します。そのサイトが許可していない場合は、ブラウザで外部ページへの要求をすることはできません

#!/usr/bin/perl -w 
use strict; 
use warnings; 
use WWW::Mechanize; 

my $mech = WWW::Mechanize->new(); 
$mech->get("http://www.google.com"); 
my $content = $mech->res()->content(); 

print "Content-type: text/html\n\n"; 
print "<html><head>"; 
print "<title>Perl HTML Parsing</title>"; 
print "</head><body>"; 
print $content; 
print "</body></html>"; 
+0

C#またはPythonについてはわかりませんが、すばらしいGoogle検索によって、探している結果が得られるはずです。 – Enijar

2

:あなたが使用することができます

<? 
    $url = 'http://www.google.com'; 
    echo file_get_contents($url); 
?> 

やPerlを使用して:あなたはこれを使用することができますPHPを使用して

あなたはこれ。 Cross Origin Resource Sharing を参照してください。ただし、これはサーバーアプリケーションで行うことができます。

関連する問題