騰訊地圖WebService API 和 CORB誤會

騰訊地圖WebService API 和 CORB的誤會

最近業務開發中,涉及到了騰訊地圖API 、 跨域 、 CORB。雖然最後的結果方法很簡單,php

可是以爲這個解決問題的過程,仍是值得記錄一下的。json

業務內容以下:segmentfault

  • 1.我根據JS-SDK,配置好後端返回的簽名、隨機字符串、時間戳、appId,而後使用wx.getLocation拿到經緯度

(簽名是根據這4個參數算出來 noncestr(隨機字符串), 有效的jsapi_ticket, timestamp(時間戳), url)後端

  • 2.獲取經緯度後,根據經緯度拿到當前所屬省份。 這個須要騰訊地圖的WebService API,就會這裏遇到的問題...
  • 3.以後就是拿着省份,去請求後端的php接口,獲取該省份對應的門店啦。

調用騰訊地圖WebService API須要跨域api

這個很好理解。那麼怎麼作呢,無非是跨域

  • CORS。 由於是第三方API,無法設置header,因此pass
  • JSONP
  • 服務端代理

服務端代理,我以爲確定能夠,可是先後端分離,不想麻煩後端大哥了,就想用JSONP來跨域,app

可是一直提示CORB的這個限制
clipboard.png前後端分離

因而我就研究了一圈jsonp

CORB是啥url

CORB如何觸發

CORB觸發了大概有什麼表現。

詳細的能夠看這大哥的文章 https://segmentfault.com/a/11...

簡單說CORB會顯示src資源的獲取。這裏觸發了CORB是由於返回了response header的content-type是json

知足了觸發條件,就致使返回的數據的body被覆蓋爲null

可是這裏解決方案其實就是,想用jsonp須要設置參數 output: jsonp

就這樣一個問題,折騰了一圈,啼笑皆非😂

如今想一想其實我用jsonp,騰訊返回給我json對象,我第一時間就應該想到這個格式不對的

這個json格式應該是給服務端代理,請求接口用的

相關文章
相關標籤/搜索