我有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);
});`
答案 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中使用它