为什么在 JavaScript 中会出现 CORS 错误,而在 Postman 中请求却正常?我们来分析一下
大家好!我是一名初级前端开发者,遇到了一个让我困惑的问题。
我正在用纯 JavaScript 编写一个简单的 Web 应用程序。我需要向第三方 API(例如 https://api.example.com/data)发送一个 POST 请求来获取一些数据。在浏览器控制台中,我看到了以下错误:
Access to fetch at 'https://api.example.com/data' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
这是我的代码:
fetch('https://api.example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ key: 'value' })
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('错误:', error));
但最奇怪的是:当我把相同的 URL、方法和请求体复制到 Postman 中时——一切正常!Postman 返回了预期的结果。