Thi*_*aja 5 javascript http cors reactjs fetch-api
我正在使用reactjs构建仅前端的基本Weather App。对于API请求,我正在使用Fetch API。在我的应用程序中,我从找到的简单API获取当前位置,并且该位置将其作为JSON对象给出。但是,当我通过Fetch API请求它时,出现此错误。
Failed to load http://ip-api.com/json: Request header field Access-Control-Allow-Origin is not allowed by Access-Control-Allow-Headers in preflight response.
Run Code Online (Sandbox Code Playgroud)
因此,我进行了搜索,找到了解决此问题的多种解决方案。
那么,如何才能永久解决该问题?我可以用来解决Fetch API中HTTP请求的CORS问题的最佳解决方案是什么?
nob*_*bar 10
致无数未来的访客:
如果我原来的答案对您没有帮助,您可能一直在寻找:
关于OP面临的问题...
该 API 似乎是宽容的,响应为Access-Control-Allow-Origin:*
我还没有弄清楚是什么导致了你的问题,但我不认为这只是fetch API。
这对我来说在 Firefox 和 Chrome 中都工作得很好......
fetch('http://ip-api.com/json')
.then( response => response.json() )
.then( data => console.log(data) )
Run Code Online (Sandbox Code Playgroud)
如果您正在发出post,put或patch请求,则必须使用以下命令对数据进行字符串化body: JSON.stringify(data)
fetch(URL,
{
method: "POST",
body: JSON.stringify(data),
mode: 'cors',
headers: {
'Content-Type': 'application/json',
}
}
).then(response => response.json())
.then(data => {
....
})
.catch((err) => {
....
})
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13450 次 |
| 最近记录: |