如何向谷歌地图API发送请求?

时间:2017-10-24 11:22:41

标签: javascript google-maps

我有google maps api的密钥,当我在浏览器中写入url时,我得到了该对象。现在,当我尝试从我的应用程序发送请求时,我收到此错误

Request header field Content-Type is not allowed by 
Access-Control-Allow-Headers in preflight response

我用fetch

做我的请求
fetch(url,{
      method: "GET",
      headers: {
        "Content-Type": "application/json"
      }
    })
    .then(async res => {
          const data = await res.json();
          self.setState({
            Zone: data
          })
        })
        .catch(function(err) {
          console.log('ERROR!!! ' + err.message);
        });`

2 个答案:

答案 0 :(得分:1)

您无需在GET请求中将标头Content-Type设置为Google的API,因为您没有使用json正文发送POST请求。

由于请求默认为GET请求,因此您可以省略选项对象:

fetch(url)
.then(async res => {
  const data = await res.json()
  self.setState({
    Zone: data
  })
})
.catch(function(err) {
  console.log('ERROR!!! ' + err.message)
})

答案 1 :(得分:-1)

有两种方法可以解决您的错误。第一种是使用chrome扩展来允许CORS:https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi

第二个选项是安装cors npm包并在你的javascript中使用它