2017-01-10 11 views
0

ajaxリクエストを使用してgitlabにある私のリポジトリ生ファイルにアクセスしたいと思います。しかし、それは動作していない、私はそれに応じて私のプロジェクトを設定する必要がありますかと思っています。明らかに私のプロジェクトはpublicです。これは私が受け取るエラーメッセージです:ajaxリクエストでgitlabファイルにアクセスする

No 'Access-Control-Allow-Origin' header is present on the requested resource. 

これは、その最後にあることを意味します。

答えて

0

は、私は非常にお勧めAccess-Control-Allow-Originヘッダを理解するためにHow does Access-Control-Allow-Origin header work?

サイトAがサイトBからコンテンツを取得しようとすると、サイトBはブラウザを伝えるために アクセス制御 - 許可 - 起源レスポンスヘッダを送信することができます このページの内容は特定の起源にアクセス可能です。デフォルトでは、サイトBの ページには、他のどの起源からもアクセスすることはできません。デフォルトでは、サイトBの ページにはアクセスできません。 Access-Control-Allow-Originヘッダーを使用すると、特定の要求元からのクロスオリジン へのアクセスが可能になります。

あなたのGitLabがgitlab.comでホストされている場合、あなたのドメインをレスポンスヘッダーに追加する方法はありません。

最も簡単な解決策は、アプリケーションへのリクエストでXMLHttpRequestsをGitLabにラップすることです。バックエンドではデータを取得して返すだけです。たとえば、XMLリクエストをhttps://gitlab.com/pdaw/test/raw/master/README.mdに送信するのではなく、https://my.app.com/fetch-file?file=pdaw/test/raw/master/README.mdに送信します。 fetch-fileアクションのバックエンドでは、生データを取得して返しますhttps://gitlab.com/pdaw/test/raw/master/README.md

+0

だから、私はそれが終わりだと言ったのです。もし私が自分のgitlabアカウントやsmtgの設定を変更すると、ヘッダが自動的に追加されます。とにかくおかげさま...それは彼らがそれを許可していないことはかなり変わったようです。私は自分のAPIを通過したいとは思っていません – Ced

+0

@Ced私が見ているように、この問題はかわいそうです、例えばhttps://gitlab.com/gitlab-org/gitlab-ce/issues/24596 –

関連する問題