Javascript 如何从客户端的Firebase应用程序向我的应用程序引擎发出http请求?

Javascript 如何从客户端的Firebase应用程序向我的应用程序引擎发出http请求?,javascript,firebase,google-app-engine,google-cloud-platform,firebase-hosting,Javascript,Firebase,Google App Engine,Google Cloud Platform,Firebase Hosting,我编写了一个flask应用程序,并将其部署到应用程序引擎,该引擎将运行一些python脚本,并在我向url发出POST请求时返回一些数据,如: import logging import firebase_admin from firebase_admin import firestore import flask app = flask.Flask(__name__) @app.route('/test', methods=['POST']) def get_data(): data

我编写了一个flask应用程序,并将其部署到应用程序引擎,该引擎将运行一些python脚本,并在我向url发出POST请求时返回一些数据,如:

import logging
import firebase_admin
from firebase_admin import firestore
import flask

app = flask.Flask(__name__)
@app.route('/test', methods=['POST'])
def get_data():
    data = flask.request.json
    return flask.jsonify({"test":1000); 
我正在尝试向客户端上的“https://**.appspot.com/test”发出如下POST请求,该客户端是Firebase主机上托管的web应用程序,但收到“访问控制允许来源”错误

 fetch('https://***.appspot.com/vrp', {
                method: 'POST',
                data: null
            })
            .then(response => 
              console.log(`response is ` , response.json()))
我看到我可以编辑app.yaml,但我想不出来。我犯错误了吗

我的app.yaml:

runtime: custom
env: flex
entrypoint: gunicorn -b :$PORT main:app

runtime_config:
  python_version: 3

handlers:
- url: /*
  static_dir: /
  http_headers:
    Access-Control-Allow-Origin: "*"


manual_scaling:
  instances: 1
resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

我最终使用了flask_cors,解决了这个问题。只需在main.py或代码所在的位置使用它,如下所示

import logging
import firebase_admin
from firebase_admin import firestore
import flask
from flask_cors import CORS


app = flask.Flask(__name__)
CORS(app)

@app.route('/test', methods=['POST'])
def get_data():
    data = flask.request.json
    print('@/get_data via route /test method POST with data {}'.format(data))
    return flask.jsonify({"test":1000}); 


if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8080, debug=True)

标题
配置仅在中受支持,在中不受支持。我认为您可能需要在应用程序中明确设置CORS标题。@DanCornilescu,谢谢您的评论。我想我是用flask_cors算出的。贴出了答案。