2012-01-08 6 views
3

を取り除く私はjsファイルの1行を持つ任意のウェブサイト上で自分のgithubのレポをリストするためのJSウィジェットを書いた: http://gitview.logicalcognition.comがこのプロキシ

現在gitview.js(私がリモートホスト)gitview.phpに当たるものでヒットapi.github.comは、ユーザ/レポ情報を引っ張って回します。もともと、私はちょうどXHRはapi.github.comにではなく、プロキシ経由で直接手に入れたが、私は、同一生成元ポリシーを打ちます。

私はCORSまたはJSONPを使ってみましたが、元のドメインは、「OAuthのアプリケーションとして登録されている」場合http://developer.github.com/v3/にこれだけ作品をに従って。私は開発者にウィジェットを使うためにこれをやらせたくありませんでした。

提案がありますか?何か不足していますか?

答えて

2

リンクドキュメントはJSON-P(あなたが直接XHRをやってみたかった場合に使用)に登録したドメインがCORSのために必要であることを示しますが、ではありません。 JSON-Pを使用すると、プログラム的(document.writeまたはDOM操作を使用して)このようなスクリプトタグを挿入したい:

<script type="text/javascript" 
     src="https://api.github.com/some_request?callback=foo" 
></script> 

これは、引数として返されたデータをグローバル関数fooを呼び出します。これは、スクリプトタグではなくXHRリクエストであるので、同一生成元ポリシーが適用されないとCORSの許可は必要ありません。

関連する問題