无法将cors添加到gcp功能
问题描述:
我想为谷歌云功能启用cors。我index.js是:无法将cors添加到gcp功能
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();
};
和我的package.json:
{
"name": "sample-http",
"version": "0.0.1",
"dependencies": {
"cors": "2.8.4"
}
}
基于this链接我试图手动添加标题,但没有成功。我也试过this解决方案,但没有任何优势。
我在做什么错?
答
解决的办法是添加以下标题:
res.set('Access-Control-Allow-Origin', '*');
res.set('Access-Control-Allow-Methods', 'GET, POST');
res.set('Access-Control-Allow-Headers', '*');
该解决方案的形式this线程是不够的我。我仍然收到错误:Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers in preflight response
通过添加行res.set('Access-Control-Allow-Headers', '*');
它的工作。