我正在尝试将数据发布到 Firebase Cloud Functions。我使用express.js和body-parser来接收请求。使用 Insomnia(用于 API 调试的 REST 客户端),我遇到了零问题,但是使用像这样的 VueJS HTTP 请求
Vue.http.post("url", {private: false}, {
headers: {
'Access-Control-Allow-Origin': '*'
}
}).then(res => {
console.log(res);
});
我收到错误 无法加载 *url*:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问源“http://localhost:8080”。
最佳答案
由于您使用的是 express
,因此您可以使用名为 cors 的包。基本上,这个错误的意思是,您应该通过说“嘿,我认识这个客户并且我信任他,让他访问他需要的内容”来允许客户端访问您的资源。您可以通过以下方式执行此操作(来自 cors
文档):
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('CORS-enabled web server listening on port 80')
})
关于javascript - Firebase 云功能 - 发布请求 - 无访问控制允许来源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47043524/