【发布时间】:2020-07-29 00:14:36
【问题描述】:
添加到数据库显示错误。我该怎么办?
CORS 策略已阻止从源“http://localhost:3000”获取“http:xxx”的访问权限:对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头出现在请求的资源上。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
我的功能:
addItem = (e) => {
e.preventDefault();
const ob = {
X: 53.0331258,
Y: 18.7155611,
}
fetch("http://xxx", {
method: "post",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(ob)
})
.then(res => res.json())
.then(res => {
console.log(res);
})
}
【问题讨论】:
-
当您尝试从不同的域(在您的情况下为 xxx)发出请求时,浏览器不允许发送此类请求。如果 xxx 是您的服务器 - 您可以将其配置为发送允许跨域请求的标头
-
它实际上告诉你问题是什么。见stackoverflow.com/a/10636765/12989672
-
我认为 localhost 现在被授予了对现代浏览器(包括 Chrome)的 CORS 限制的例外。您是直接从 Web 服务器而不是从本地源文件中提取 HTML 吗?
标签: javascript reactjs