2011-06-18 21 views
2

私はここで同様の質問を見ましたが、Javascriptについての回答は見つかりませんでした。別のサイトからコンテンツを取得

私はウェブサイトを構築しています( 'A'と呼ぶことができます)、ユーザー名とパスワードが必要な別のWebサイト( 'B')からコンテンツを取得したいと思います。 自分のサイトでBの特定のページのコンテンツを取得する機能が必要です。私はいつも私のコンピュータのサイトBに手動でログインしていますので、ログインする機能は必要ありません。 B)の情報の正しいページ。 AとBは同じドメインにありません。 JavascriptでコンテンツをBから取得する方法はありますか?

答えて

5

(通常はsame origin policyで禁止されている)クロスドーマンAJAXコールが必要です。 jQueryのは、これが(代わりにXMLHttpRequestオブジェクトを使用しての)要求をするために、文書に直接Javascriptを書き込みますJSONPとして知られている技術を、利用$.getJson()

$.getJSON('http://otherdomain/ajax/test.json', function(data) { 
    if (undefined != data) { 
    console.log(data); 
    } 
}); 

と呼ばれるJSONデータを返します。このための便利なヘルパー関数を持っています同じ発信元ポリシーをバイパスします。

+0

純粋なJavascriptでこれを行う方法があるかどうかを知りたかったのですが、そうは思わないので、AJAXについて読んでみましょう。ありがとう! – Roee84

+0

jQueryはJavascriptで書かれたライブラリなので、ライブラリとして「純粋な」in-as-muchがあります:) – Andy

0

ありません私は何をしたいとすると、それは同様だ使用YQL(Yahooのクエリ言語) であるが、純粋なjavascriptを使用して外部Bページからコンテンツを取得する方法はありませんが、あなたはcurlまたはfile_get_contents

+0

私は思ったものの、方法があると思っています..ありがとう! – Roee84

2

PHPを使用しようとすることができますapiのためのapi。私はセレクタを使って処理したいhtmlを手に入れます。例えば、私が返されたXML/JSONを SELECT * FROM html WHERE url="http://en.wikipedia.org/wiki/List_of_United_States_National_Parks_by_state" AND xpath="//img"のようなクエリを使用して、処理this wikipedia linkからすべてのイメージをつかむことができ

あなたは、クエリ

HEREをテストし、画像in this Fiddleをつかみ、処理の例を見ることができます

関連する問題