2017-10-11 52 views
0

我想为谷歌云功能启用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解决方案,但没有任何优势。

我在做什么错?

回答

0

解决的办法是添加以下标题:

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', '*');它的工作。