2011-02-05 18 views
2

私はAPIを使って外部のウェブサイトからデータのリクエストを開始しようとしています。シンプルなXML HttpRequestの質問

私のWebブラウザに要求を貼り付けても問題ありません。 例:(http://example.com/json/user/search/all) ブラウザウィンドウで結果を確認できます。

しかし、私はウェブサイトから、このクエリを起動しようとしていると私は問題に実行しているよ: このようないくつかのJavaScriptを使用して: VAR REQは=新しいXMLHttpRequestを(); req.open( 'GET'、abovementionedurl、真) req.send()

私は、読み込みエラーが出る:起源(MYDOMAIN)が起源を許可するアクセス制御によって許可されていませんが。

また、私はXMLHttpRequestsについてかなり新しいです。これは解決するのがかなり簡単だと思います。 誰でも知っていますか? (私はグーグルを検索しようとしましたが、良い答えが見つかりませんでした) ありがとうございます。

+0

関連リンクhttp://stackoverflow.com/questions/1830050/why-same-origin-policy-for-xmlhttprequest –

答えて

2

あなたはCross-Site XMLHttpRequestsを実行することはできません。これを達成するにはプロキシを使用する必要があります。

This article Yahooが詳細に説明し、解決方法のアイデアをより多く提供します。しかし、基本的には、セキュリティのためにこの制限が存在するため、これを行うべきではありません。

たとえば、PHPを使用してfopen()を使用し、XMLHttpRequestオブジェクトを使用してそのページを呼び出した方がよいでしょう。

1

これは、ブラウザのクロスサイトスクリプティングに対する保護機能です。別のドメインから来た他のページにアクセスすることは許可されていません。

EDIT:また、この点を確認してください。Cross-site XMLHttpRequest

2

問題がsame-origin policyです。これは、元のページと同じドメインを除いて、XMLHTTPRequestsがでなく、であるという規則です。これはセキュリティ上の理由によるものです。

最も簡単な方法は、リクエストを代理処理するサーバー側スクリプトを作成することです。

+0

ああありがとうございます。それは理にかなっている。 – CTC