最佳答案
我从浏览器发送这样的 POST 请求:
fetch(serverEndpoint, {
method: 'POST',
mode: 'no-cors', // this is to prevent browser from sending 'OPTIONS' method request first
redirect: 'follow',
headers: new Headers({
'Content-Type': 'text/plain',
'X-My-Custom-Header': 'value-v',
'Authorization': 'Bearer ' + token,
}),
body: companyName
})
当请求到达我的后端时,它既不包含 X-My-Custom-Header
也不包含 Authorization
头。
我的后端是针对 Firebase 的 Google Cloud 函数(基本上就是 Node.js 端点) ,看起来像这样:
exports.createCompany = functions.https.onRequest((req, res) => {
let headers = ['Headers: ']
for (let header in req.headers) {
headers.push(`${header} : ${req.headers[header]}`)
}
console.log(headers)
...
}
GoogleCloudforFirebase 函数的控制台日志不包含任何 X-My-Custom-Header
或 Authorization
头。
怎么了?
因此,在 Chrome 中使用开发工具检查了 X-My-Custom-Header
和 Authorization
头都没有从浏览器发送... ... 现在的问题是: 为什么?我该怎么补救?
关于我的应用程序的更多信息: 它是 React 应用程序。我有残疾的服务人员。我曾尝试创建 Request
,并特别使用 req.headers.append()
添加头文件。头还是不肯发送。