在 API 中使用 CORS

本主题专门讨论 CORS(跨域资源共享)。您可以在代理指南主题中找到有关使用代理的更多信息。

GeoScene API for JavaScript 具有 CORS 的自动检测功能。CORS 允许 Web 应用程序绕过浏览器的同源策略并访问其他服务器/域上的资源或服务。当 Web 服务器和浏览器都支持 CORS 时,不需要代理来进行跨域请求。这很有帮助,因为它可以:

  • 提供性能提升,因为 Web 应用程序不再需要将请求发送回其服务器,等待服务器访问所需资源,并在将结果发送回客户端之前解释结果。
  • 简化开发,因为不再需要在服务器上维护代理页面。

要支持 CORS,必须为其预先配置 Web 服务器,并且浏览器必须能够支持它。有关在 Web 服务器中启用此功能的更多详细信息,请访问 enable-cors.org

CORS 和 WebGL

GeoScene API for JavaScript 使用 WebGL 渲染图层。WebGL 需要访问原始图像数据。图像必须满足以下要求之一:

  • 与应用程序在同一个域中,或者
  • 托管在支持 CORS 的服务器上,或者
  • 使用代理。

在应用程序工作流中处理 CORS

将始终在支持 CORS 的假设下提出请求。如果您的服务器还不支持 CORS,您可以启用代理规则

尽管 GeoScene API for JavaScript 自动假定支持 CORS,但如果不确定应用程序中的服务是否已启用,建议您配置代理。可以通过 proxyUrl 在应用程序中引用此代理。通过添加此代理,应用程序具有一个回退机制,以防服务请求由于缺乏 CORS 支持而失败。

请注意,在 2.0 版本之前,未为 GeoScene Server 服务启用 CORS。如果需要使用旧版本的 GeoScene Server,您需要通过代理向服务发出请求。

附加信息

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.