【flask跨域】关于flask跨域的问题

问题

跨域是很常见的问题,我们采用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。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值