yum*_*sta 8 javascript node.js cors firebase google-cloud-functions
我正在尝试为我的 http Cloud Functions启用cors。但是,即使按照这个使用 cors 的示例,在尝试时fetch,它仍然给我错误:
对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。
这是我的云功能:
const functions = require('firebase-functions');
const cors = require('cors')({origin: true});
exports.foo = functions.https.onRequest((req, res) => {
return cors(req, res, () => {
let format = req.query.format;
if (!format) {
format = req.body.format;
}
//do stuff
});
});
Run Code Online (Sandbox Code Playgroud)
这是我获取的方式:
fetch("https://us-central1-my-database.cloudfunctions.net/foo", {
method: "POST",
body: JSON.stringify(data),
headers: {
"Content-Type": "application/json"
}
}).then((res) => {
// ...
}).catch((err) => {
// ...
});
Run Code Online (Sandbox Code Playgroud)
为什么 cors 不起作用,我该如何解决?
尝试使用 cors 及其默认参数:
{
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
Run Code Online (Sandbox Code Playgroud)
在您的情况下,您只需要更改一行:
{
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5302 次 |
| 最近记录: |