代理获取 Mapbox 瓦片 URL 为什么有时会自动添加 localhost 前缀?

代理获取 mapbox 瓦片 url 为什么有时会自动添加 localhost 前缀?

代理获取 url 资源自动添加 localhost 前缀问题

在获取 mapbox 瓦片 url 时,通过代理获取有时会自动添加 localhost 前缀,而有时不会,导致请求失败。

问题原因

默认情况下,代理会添加 localhost 前缀,以标识请求应该通过代理发送。但是,当 url 中包含 www 时,代理不会自动添加前缀。

解决方案

为了解决这个问题,可以使用 window.location.origin 变量手动添加 localhost 前缀:

const url = window.location.origin + '/api/mvt?...';

通过手动添加前缀,代理将始终能够识别请求并对其进行路由。

成功示例

修复后,失败的请求将变成:

请求已发送到 /localhost/api/mvt?……

注意事项

在使用 mapbox 瓦片时,还需要考虑跨域请求问题。要解决此问题,请确保服务器上启用了 cors。(跨域资源共享)

以上就是代理获取 Mapbox 瓦片 URL 为什么有时会自动添加 localhost 前缀?的详细内容,更多请关注硕下网其它相关文章!