有两种解决方法
- 使用外部库处理
OPTIONS
呼叫
科尔斯
OPTIONS
手动处理呼叫
从获取请求方法
headers
检查方法是否
OPTIONS
使用
200状态代码解析API 。
exports.addUser = functions.https.onRequest((req, res) => {res.set('Access-Control-Allow-Origin', '*');res.set('Access-Control-Allow-Methods', 'GET, PUT, POST, OPTIONS');res.set('Access-Control-Allow-Headers', '*'); if (req.method === 'OPTIONS') { res.end();}else{ if (req.body.username != null && req.body.firstname != null && req.body.lastname != null && req.body.addr1 != null && req.body.addr2 != null || req.body.username != undefined && req.body.firstname != undefined && req.body.lastname != undefined && req.body.addr1 != undefined && req.body.addr2 != undefined ) { let docId = Math.floor(Math.random() * (99999 - 00000)); let newUser = { "username": req.body.name, "firstname": req.body.firstname, "lastname": req.body.lastname, "addr1": req.body.addr1, "addr2": req.body.addr2, } usersCollection.add(newUser).then(snapshot => { res.send(200, { "message": "User was successfully created" }) }); } else { res.send(400, { "message": "All fields are required" }) }} });


