腾讯地图WebService API 和 CORB误会

腾讯地图WebService API 和 CORB的误会

最近业务开发中,涉及到了腾讯地图API 、 跨域 、 CORB。虽然最后的结果方法很简单,

但是觉得这个解决问题的过程,还是值得记录一下的。

业务内容如下:

  • 1.我根据JS-SDK,配置好后端返回的签名、随机字符串、时间戳、appId,然后使用wx.getLocation拿到经纬度

(签名是根据这4个参数算出来 noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url)

  • 2.获取经纬度后,根据经纬度拿到当前所属省份。 这个需要腾讯地图的WebService API,就会这里遇到的问题...
  • 3.之后就是拿着省份,去请求后端的php接口,获取该省份对应的门店啦。

调用腾讯地图WebService API需要跨域

这个很好理解。那么怎么做呢,无非是

  • CORS。 因为是第三方API,没法设置header,所以pass
  • JSONP
  • 服务端代理

服务端代理,我觉得肯定可以,但是前后端分离,不想麻烦后端大哥了,就想用JSONP来跨域,

但是一直提示CORB的这个限制
clipboard.png

于是我就研究了一圈

CORB是啥

CORB如何触发

CORB触发了大概有什么表现。

详细的可以看这大哥的文章 https://segmentfault.com/a/11...

简单说CORB会显示src资源的获取。这里触发了CORB是因为返回了response header的content-type是json

满足了触发条件,就导致返回的数据的body被覆盖为null

但是这里解决方案其实就是,想用jsonp需要设置参数 output: jsonp

就这样一个问题,折腾了一圈,哭笑不得?

现在想想其实我用jsonp,腾讯返回给我json对象,我第一时间就应该想到这个格式不对的

这个json格式应该是给服务端代理,请求接口用的

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值