flask_restful跨域
时间: 2023-09-09 18:14:09 浏览: 92
在 Flask-RESTful 中实现跨域请求可以通过安装 Flask-CORS 扩展或手动设置响应头来实现。
使用 Flask-CORS 扩展:
1. 安装 Flask-CORS
```
pip install flask-cors
```
2. 在 Flask 应用中初始化 CORS 扩展
```python
from flask import Flask
from flask_restful import Api
from flask_cors import CORS
app = Flask(__name__)
api = Api(app)
CORS(app) # 初始化 CORS 扩展
# ...
if __name__ == '__main__':
app.run(debug=True)
```
3. 在每个需要跨域请求的资源类中添加响应头
```python
from flask_restful import Resource
from flask import jsonify
class MyResource(Resource):
def get(self):
response = jsonify({'message': 'Hello, World!'})
response.headers.add('Access-Control-Allow-Origin', '*')
return response
```
手动设置响应头:
```python
from flask import Flask, jsonify, make_response
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class MyResource(Resource):
def get(self):
response = make_response(jsonify({'message': 'Hello, World!'}))
response.headers['Access-Control-Allow-Origin'] = '*'
return response
api.add_resource(MyResource, '/')
if __name__ == '__main__':
app.run(debug=True)
```
其中,`Access-Control-Allow-Origin` 响应头指定了允许跨域请求的源地址,通常设置为 `*` 表示允许任意来源。
阅读全文