我正在为后端使用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);
答案 0 :(得分:0)
也需要在网址中添加“ api”。
Firebase.functions()。httpsCallable('api / v3 / update / workshop');