对飞行前请求的响应未通过访问控制检查:飞行前请求不允许重定向

时间:2019-07-27 06:16:24

标签: firebase cors google-cloud-functions

我正在为后端使用vue和express + firebase函数,但它一直给我这个错误。我部署了Firebase函数,并使用localhost访问我的服务器。有人可以帮忙吗?谢谢!

  

来源“ http://localhost:8081”已被CORS政策阻止:   对预检请求的响应未通过访问控制检查:   预检请求不允许重定向。

前端

        let updateWorkshop = Firebase.functions().httpsCallable('v3/update/workshop');
        updateWorkshop()
          .then(res => {
            console.log(res);
            commit('setInfoMsg', processResults (res.body.results))
            commit('setError', null)
            commit('setLoading', false)
          }, err => {
            console.log(err);
            commit('setError', processResults (err.body.results))
            commit('setLoading', false)
          })

后端

const functions = require('firebase-functions');
const app = require('express')();
const cors = require('cors');
const colors = require('colors');

const UPDATE_WORKSHOP_DATE = require('./src/update-workshop');

// Automatically allow cross-origin requests
app.use(cors({ origin: true }));

const asyncMiddleware = fn => (req, res, next) => {
    Promise.resolve(fn(req, res, next))
        .catch((err) => {
            console.error(err);
            res.json(err)
        })
        .catch(next)
};

app.get('/v3/update/workshop', asyncMiddleware( async (req, res, next) => {
    let results = await UPDATE_WORKSHOP_DATE.Run()
    res.status(200).json({results: results})
}))

exports.api = functions.https.onRequest(app);

1 个答案:

答案 0 :(得分:0)

也需要在网址中添加“ api”。

Firebase.functions()。httpsCallable('api / v3 / update / workshop');