首页>Program>source

我刚刚完成了Hello world Google Cloud Functions教程,并收到了以下响应标题:

Connection → keep-alive
Content-Length → 14
Content-Type → text/plain; charset=utf-8
Date → Mon, 29 Feb 2016 07:02:37 GMT
Execution-Id → XbT-WC9lXKL-0
Server → nginx

我如何添加CORS标头以能够从我的网站调用我的函数?

最新回答
  • 14天前
    1 #

    我们去了:

    exports.helloWorld = function helloWorld(req, res) {  
      res.set('Access-Control-Allow-Origin', "*")
      res.set('Access-Control-Allow-Methods', 'GET, POST')
      res.status(200).send('weeee!);
    };
    

    然后您就可以照常进行jquery /任何操作:

    $.get(myUrl, (r) => console.log(r))
    

  • 14天前
    2 #

    我是Google Cloud Functions的产品经理.谢谢您的提问,这是一个很受欢迎的要求。

    我们还没有什么要宣布的,但是我们知道需要对Cloud Functions的HTTP调用功能进行几项增强,并且我们将在此方面以及其他许多方面进行改进 未来的迭代。

    更新:

    我们改进了您在Cloud Functions中处理HTTP的方式.现在,您具有对HTTP Request / Response对象的完全访问权限,因此可以设置适当的CORS标头并响应飞行前OPTIONS请求(https://cloud.google.com/functions/docs/writing/http)

  • 14天前
    3 #

    如果您正在寻找实际的代码示例(并且您的问题仍然很重要),我写了一篇关于该示例的博客文章:https://mhaligowski.github.io/blog/2017/03/10/cors -in-cloud-functions.html。

  • 14天前
    4 #

    我刚刚创建了webfunc.这是一种轻量级的HTTP服务器,支持CORS以及Google Cloud Functions的路由.示例:

    const { serveHttp, app } = require('webfunc')
    exports.yourapp = serveHttp([
      app.get('/', (req, res) => res.status(200).send('Hello World')),
      app.get('/users/{userId}', (req, res, params) => res.status(200).send(`Hello user ${params.userId}`)),
      app.get('/users/{userId}/document/{docName}', (req, res, params) => res.status(200).send(`Hello user ${params.userId}. I like your document ${params.docName}`)),
    ])
    

    在项目的根目录中,只需添加一个 appconfig.json 看起来像这样:

    {
      "headers": {
        "Access-Control-Allow-Methods": "GET, HEAD, OPTIONS, POST",
        "Access-Control-Allow-Headers": "Origin, X-Requested-With, Content-Type, Accept",
        "Access-Control-Allow-Origin": "*",
        "Access-Control-Max-Age": "1296000"
      }
    }
    

    希望这会有所帮助。

  • 14天前
    5 #

    您可以使用CORS Express中间件。

    package.json

    npm install express --save
    npm install cors --save
    

    index.js

    'use strict';
    const functions = require('firebase-functions');
    const express = require('express');
    const cors = require('cors')({origin: true});
    const app = express();
    app.use(cors);
    app.get('*', (req, res) => {
        res.send(`Hello, world`);
    });
    exports.hello = functions.https.onRequest(app);
    

  • python:通过平均调整大小或重新绑定一个numpy的二维数组
  • .net:将F#模块拆分为多个文件