首页 > 文章列表 > 使用代理获取Mapbox 瓦片资源时,为何 localhost 前缀未能自动添加?

使用代理获取Mapbox 瓦片资源时,为何 localhost 前缀未能自动添加?

352 2025-02-11

使用代理获取Mapbox 瓦片资源时,为何 localhost 前缀未能自动添加?

代理获取url资源为何未能自动添加localhost前缀?

在设置mapbox瓦片url以通过代理获取资源时,有时您可能会遇到添加localhost前缀自动失败的问题。尽管代码没有更改,但结果却不一致。

原因

导致此问题的原因通常是浏览器中的cors限制。当您使用代理从另一个域获取资源时,浏览器需要对请求的url进行跨域资源共享(cors)检查。如果url中缺少localhost前缀,浏览器可能无法验证请求的来源,从而导致失败。

解决方法

要解决此问题,您需要手动将window.location.origin添加到url中,如下所示:

const url = `${window.location.origin}/api/mvt?....`;

通过添加window.location.origin,您明确指定了请求的来源,浏览器可以验证其真实性并允许代理获取资源。

来源:1731566745