问题
跨域是很常见的问题,我们采用flask-cors解决,但是未能生效。代码如下:
from flask import Flask, jsonify, make_response
from flask_cors import CORS, cross_origin
app = Flask(__name__)
CORS(app, resources=r"/*") # 注册CORS, "/*" 允许访问所有api
@app.route('/cmt', methods=['GET'])
def get_cmt():
context = jsonify(
code=200,
data=[
{"id": 1, "name": '张三', "title": '沙发', "content": "我是1楼"},
{"id": 2, "name": '李四', "title": '板凳', "content": "我是2楼"},
{"id": 3, "name": '王五', "title": '茶几', "content": "我是3楼"},
])
return context
# return func_res(context)
if __name__ == '__main__':
app.run()
解决方法
在app.run()里面加上参数host=“0.0.0.0”, port=5000
app.run(host="0.0.0.0", port=5000)
问题得到解决
原理
1、默认启动
2、0.0.0.0启动
3、本地ip启动
可以看到flask默认启动ip是127.0.0.1,是环回地址,所以即便使用flask-cors处理跨域,也不能解决问题。
我们可以将flask启动ip改为本地ip或者0.0.0.0。
版权声明:本文为qq_45729286原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。