【发布时间】:2021-06-27 19:48:28
【问题描述】:
React / Firebase 项目。正在尝试删除文档。
错误消息:从源“http://localhost:3000”访问 XMLHttpRequest 已被 CORS 策略阻止:预检响应中的 Access-Control-Allow-Methods 不允许方法 DELETE。
我添加了 Access-Control-Allow-Methods 和 Access-Control-Allow-Origin 标头来尝试修复它,但没有效果。
firebase
.auth()
.currentUser.getIdToken(true)
.then((token) => {
console.log(token)
return axios.delete(
`${FunctionsDir}/deleteMessage`,
{
messageID: messageID,
},
{
headers: {
Authorization: `Bearer ${token}`,
'content-type': 'application/octet-stream',
'Access-Control-Allow-Methods': 'DELETE',
'Access-Control-Allow-Origin': 'http://localhost:3000',
},
}
)
})
【问题讨论】:
-
查看 CORS 以获取详细信息,但这意味着请求源(即 localhost)不允许向请求目标(即
${FunctionsDir}/deleteMessage)发出请求。您的 COR 标头没有帮助,因为目的地而不是来源决定了接受来自谁的请求。 IE。银行必须批准您的贷款,而不是相反。 -
在这种情况下,firebase 的服务器是您需要配置 CORS 策略的地方
标签: javascript reactjs firebase axios cors