javascript - Firebase 云功能 - 发布请求 - 无访问控制允许来源

标签 javascript express firebase google-cloud-functions

我正在尝试将数据发布到 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/

相关文章:

javascript - 如何更改 JS 中的子元素顺序?

javascript - Mongoose 无法更新数组 : undefined error

node.js - req.session 使用 express-session 未定义

javascript - 如何检查文档/文档快照中是否存在某个字段?

javascript - 行上的 influxdb 更新时间

javascript - Cookie可以存储,但不能删除

java - 如何使用 API 从 SMTP 服务器访问和提取电子邮件

node.js - Express 3 和 EJS 中的布局

ios - "Invalid Token"尝试使用 firebase 验证电话号码时

javascript - Firebase 数组始终返回 false