【问题标题】:Cross-origin requests on Google CDNGoogle CDN 上的跨域请求
【发布时间】:2012-10-07 01:15:14
【问题描述】:

我正在尝试从 Google CDN 加载扩展名为 .json 的文件:

//ajax.googleapis.com/ajax/libs/dojo/1.8/dojox/geo/charting/resources/data/USStates.json

标准 xhr 请求因跨域策略而失败。 Google CDN 是否支持任何类型的跨域请求,例如 JSONP 或 CORS?你能告诉我如何获取上述文件的例子吗?

上述文件是 Dojo 的一部分,但我可以使用任何其他库或纯 JavaScript。唯一的限制是从 Google CDN 获取文件。

【问题讨论】:

    标签: javascript dojo jsonp cors google-cdn


    【解决方案1】:

    根据我获得的(缺乏)信息,Google CDN 不支持任何类型的跨域访问,例如 JSONP 或 CORS。这意味着使用 CDN .json 文件的唯一方法是通过服务器代理。

    对于客户端 JavaScript,我必须存储文件的本地副本。

    【讨论】:

      【解决方案2】:

      现在好像不是这样了:

      $.ajax('//ajax.googleapis.com/ajax/libs/dojo/1.8/dojox/geo/charting/resources/data/USStates.json').
        then(function(data) { console.log(data) })
      
      // {"layerExtent": …}
      

      【讨论】:

        【解决方案3】:

        我知道这个问题已经很久没有问过了,但现在谷歌存储允许我们更改 CORS 配置。

        我在 CORS 方面遇到了同样的问题,并按照这些步骤解决了它。

        1. 使用 CORS 配置 cors-config.json 创建 JSON 文件
        [
            {
                "origin": ["*"],
                "method": ["GET"],
                "maxAgeSeconds": 3000,
                "responseHeader": ["Authorization", "Content-Range", "Accept", "Content-Type", "Origin", "Range"]
            }
        ]
        

        2。将此文件上传到存储桶中

        gsutil cp cors-config.json gs://[bucket_name]
        

        3。现在更新存储桶 cors 配置

        gsutil cors set cors-config.json gs://[bucket_name]
        

        您的 CORS 配置已更新。现在您可以通过运行此命令在存储桶上查看新更新的 CORS 配置。

        gsutil cors get gs://[bucket_name]/
        

        Google document关于CORS配置

        【讨论】:

          【解决方案4】:

          在撰写本文时,@Yogesh Patil 的回答确实解决了问题。

          我想指出,我使用的是 Windows Google Cloud SDK。

          您无需将 json 文件上传到您的存储桶。 但是您需要将 json 文件复制到本地 Google Cloud SDK 目录中。 然后你可以运行命令:

          gsutil cors set cors-config.json gs://[bucket_name]
          

          【讨论】:

            猜你喜欢
            • 2013-04-06
            • 2012-11-06
            • 2017-06-15
            • 1970-01-01
            • 2017-02-02
            • 2013-03-06
            相关资源
            最近更新 更多