_廿_尘 2023-01-09 12:09 采纳率: 0%
浏览 56

Flask重定向不能自动跳转

问题遇到的现象和发生背景

运行Flask项目,当前端点击按钮触发JS的HTTP的POST请求到后端时,后端对应的视图函数能够收到前端传来的数据,但运行到retrun redirect()这样的语句时,虽然后端发出了302重定向和GET两个请求,浏览器并没有自动向目标页面进行跳转。

遇到的现象和发生背景,请写出第一个错误信息
用代码块功能插入代码,请勿粘贴截图。 不用代码块回答率下降 50%
@app.route('/proc', methods=['POST', 'GET'])
def proc():
    global ips
    global num
    global topTen
    global devs
    global devState
    ip_list = []
    """
    获取并处理数据或文件
    """
    if request.method == 'POST':
        if request.files:
            # print(request.files.get('file'))
            file_ = request.files.get('file')
            ip_list.extend(fileProcess(file_))
            # print(ip_list)
        else:
            data_ = request.get_json()['data']['ip_list'][0]
            print(data_)
            ip_list.append(data_)
        # Attain
        ips, num, topTen, devs, devState = attain(ip_list)
        print("addUp:", ips, num, topTen, devs, devState)
        # 为什么不能跳转!!!???
        return redirect(url_for('work'), code=302)
    else:
        return render_template('error.html')
运行结果及详细报错内容
我的解答思路和尝试过的方法,不写自己思路的,回答率下降 60%
我想要达到的结果,如果你需要快速回答,请尝试 “付费悬赏”
  • 写回答

2条回答 默认 最新

  • m0_54204465 2023-01-09 12:48
    关注

    在Flask中使用 redirect() 函数可以实现页面重定向。由于 redirect() 函数返回的是一个响应对象,所以在视图函数中要使用 return 关键字将其返回。如果代码中的 return redirect() 语句已经执行了,但是浏览器没有自动跳转,那么可能是浏览器拦截了这个重定向请求。在调试重定向问题时,可以考虑以下几个方面:

    检查浏览器的控制台,看看有没有任何报错信息。

    在服务器端的控制台查看是否有重定向的相关信息输出。

    在浏览器的网络面板中查看服务器返回的响应状态码是否为 302。

    如果使用的是 JavaScript 发起的请求,那么可能是浏览器的 CORS(跨域资源共享)机制导致的。可以在服务器端的视图函数中设置响应头来解决这个问题:

    response = redirect(url_for('work'))
    response.headers['Access-Control-Allow-Origin'] = '*'
    return response
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 1月9日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表