我想为谷歌云功能启用cors。我的索引.js是:
const cors = require('cors');
exports.helloWorld = function helloWorld(req, res) {
if (req.body.message === undefined) {
console.log('No message defined!');
} else {
console.log(req.body.message);
}
//res.set('Access-Control-Allow-Origin', "*");
//res.set('Access-Control-Allow-Methods', 'GET, POST');
cors(req, res, () => {
console.log('inside cors');
res.status(200).send(users);
});
//cors(res.status(200).send(users));
//res.status(200).send(users);
//res.end();
};
和我的包.json:
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"cors": "2.8.4"
}
}
基于此链接,我尝试手动添加标题,但没有成功。我也尝试过这个解决方案,但没有占上风。
我做错了什么?
解决方案是添加以下标头:
res.set('Access-Control-Allow-Origin', '*');
res.set('Access-Control-Allow-Methods', 'GET, POST');
res.set('Access-Control-Allow-Headers', '*');
这个线程的解决方案对我来说还不够。我仍然收到错误:Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response
通过添加行res.set('Access-Control-Allow-Headers', '*');
它起作用了。