You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FastAPI POST重定向后JINJA2渲染HTML页面未更新问题求助

问题根因
  • 通过AJAX发起POST请求时,服务端返回的303重定向由AJAX引擎自动处理:AJAX会自动向/result接口发起请求、拿到渲染好的HTML内容,但该内容只会返回给AJAX的回调函数,不会触发浏览器主页面刷新渲染,因此页面始终停留在初始状态。
  • 直接在地址栏访问/result时是浏览器主窗口发起的请求,拿到响应后会自动替换当前页面内容,所以可以正常显示结果。
修复方案

有两种常用的修复方式,可根据业务需求选择:

  • 方案1:替换AJAX为原生表单提交
    移除前端AJAX逻辑,用form表单包裹输入内容,提交时浏览器会自动处理重定向、刷新页面展示结果,代码示例:

    <form method="post" action="/eval">
      <!-- 输入控件区域 -->
      <button type="submit">提交数据</button>
    </form>
    

    对应FastAPI的/eval接口需要调整参数接收规则,改用Form类接收表单参数即可。

  • 方案2:保留AJAX逻辑,手动触发页面跳转
    给AJAX添加请求成功回调,提交完成后手动控制浏览器跳转到结果页,代码示例:

    function sendData(){
        var data = ... // 采集到的用户数据
        $.ajax({
            type: 'POST',
            contentType: 'application/json',
            data: JSON.stringify({data: data}),
            url:"/eval",
            success: function() {
                // 提交成功后手动跳转至结果页,触发浏览器整页渲染
                window.location.href = "/result"
            }
        })
    }
    

    如果不需要整页刷新,也可以直接让/eval接口返回处理结果JSON,在success回调里手动更新页面DOM节点展示结果,体验更流畅。

内容的提问来源于stack exchange,提问作者user16479376

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 19:15:04