通过ajax请求访问gitlab文件

时间:2017-01-10 19:44:07

标签: gitlab

我想通过ajax请求访问gitlab上我的存储库中的原始文件。但是,它不起作用,我想知道我是否必须相应地设置我的项目或其他东西。显然我的项目是public。这是我收到的错误消息:

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

这意味着它就在他们的最后。

1 个答案:

答案 0 :(得分:0)

要理解Access-Control-Allow-Origin标题,我强烈推荐How does Access-Control-Allow-Origin header work?

  

当站点A尝试从站点B获取内容时,站点B可以发送一个   Access-Control-Allow-Origin响应头告诉浏览器   某些来源可访问此页面的内容。 (原产地   是一个域,加上一个方案和端口号。)默认情况下,站点B的   任何其他来源都无法访问这些页面;使用   Access-Control-Allow-Origin标题为跨源打开了一扇门   特定请求来源的访问。

如果您的GitLab托管在gitlab.com上,我看不到将您的域添加到响应标头的方法。

最简单的解决方案是在对应用程序的请求中将XMLHttpRequests包装到GitLab中 - 在后端,您只需获取并返回数据。例如,您不会向https://gitlab.com/pdaw/test/raw/master/README.md发送XML请求,而是向https://my.app.com/fetch-file?file=pdaw/test/raw/master/README.md发送XML请求。在fetch-file操作的后端,您将从https://gitlab.com/pdaw/test/raw/master/README.md

获取并返回原始数据