我从浏览器发送这样的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)
...
}
该Google Cloud for Firebase功能的控制台日志既不包含X-My-Custom-Header
也不包含Authorization
标头。
怎么了?
编辑1
因此,使用Chrome中的开发工具可以检查浏览器既不发送标头,X-My-Custom-Header
也不Authorization
发送标头。现在的问题是:为什么?我如何解决它?
编辑2
有关我的应用程序的更多信息:这是React应用程序。我已经禁用了服务人员。我尝试使用创建Request
和专门添加标头req.headers.append()
。标头仍然不会发送。