python flask Allow-Origin header is present on the requested resource. 解决代码
时间: 2023-09-01 15:10:33 浏览: 178
您好,关于您的问题,以下是解决代码:
在 Flask 中允许跨域访问的写法:
```python
from flask import Flask, jsonify
from flask_cors import CORS
app = Flask(__name__)
cors = CORS(app)
@app.route('/')
def hello_world():
return jsonify({'message': 'Hello, World!'})
if __name__ == '__main__':
app.run()
```
其中的 `CORS(app)` 开启了 Flask 的跨域访问功能。如果只有某些请求需要跨域访问,也可以在函数装饰器中添加 `@cross_origin()`。
如果您遇到的是 Allow-Origin header is not present on the requested resource. 的问题,可以尝试在响应头中添加允许跨域的域名,如下:
```python
from flask import Flask, jsonify
app = Flask(__name__)
@app.after_request
def add_headers(response):
response.headers['Access-Control-Allow-Origin'] = '*'
return response
@app.route('/')
def hello_world():
return jsonify({'message': 'Hello, World!'})
if __name__ == '__main__':
app.run()
```
其中的 `@app.after_request` 装饰器添加了响应头,在开发环境中可以设置为 `response.headers['Access-Control-Allow-Origin'] = 'http://localhost:8080'` 或者其他需要跨域访问的域名。
阅读全文