【发布时间】:2019-12-05 08:48:09
【问题描述】:
我正在使用 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);
【问题讨论】:
-
好吧,我发现了我遇到的问题。使赏金有点毫无意义。我不小心未能部署我的云功能——firebase 云功能控制台中没有列出任何内容。终极面子!
标签: firebase cors google-cloud-functions