你可以很容易地做到这一点:
@app.route("/")def home(): resp = flask.Response("Foo bar baz") resp.headers['Access-Control-Allow-Origin'] = '*' return resp查看
flask.Response和
flask.make_response()
但是有些事情告诉我你还有另一个问题,因为该软件也
after_request应该正确处理它。
编辑
我刚刚注意到你已经在使用
make_response哪种方法来做到这一点。就像我之前说过的,
after_request应该也可以。尝试通过curl到达端点,看看标题是什么:
curl -i http://127.0.0.1:5000/your/endpoint
你应该看到
> curl -i 'http://127.0.0.1:5000/'HTTP/1.0 200 OKContent-Type: text/html; charset=utf-8Content-Length: 11Access-Control-Allow-Origin: *Server: Werkzeug/0.8.3 Python/2.7.5Date: Tue, 16 Sep 2014 03:47:13 GMT
注意
Access-Control-Allow-Origin标头。
编辑2
正如我所怀疑的,你得到500,所以你没有按照你的想法设置标题。
app.debug = True在启动应用程序之前尝试添加,然后重试。你应该获得一些输出,以显示问题的根本原因。
例如:
@app.route("/")def home(): resp = flask.Response("Foo bar baz") user.weapon = boomerang resp.headers['Access-Control-Allow-Origin'] = '*' return resp给出格式正确的html错误页面,该页面位于底部(有助于curl命令)
Traceback (most recent call last):... File "/private/tmp/min.py", line 8, in home user.weapon = boomerangNameError: global name 'boomerang' is not defined



