使用 AJAX 处理更新 Flask SPA 视图的正确方法

Posted

技术标签:

【中文标题】使用 AJAX 处理更新 Flask SPA 视图的正确方法【英文标题】:Proper way to handle updating a view for Flask SPA using AJAX 【发布时间】:2015-09-11 23:15:03 【问题描述】:

这是一个高级架构问题,因为我没有 Web 开发经验,也没有在网上找到任何简洁的答案。

假设我有一个 Flask 应用程序,它有一个非常简单的 html 页面,其中包含几个表单字段。您在表单字段中键入一些数据,提交,然后提交触发 AJAX 调用 onclick,然后将结果发布到您的烧瓶路由。

当需要显示数据时,您将其从发布到相关视图的请求对象中拉出,然后通过您的格式化数据呈现模板。

我的问题是...如果您想不断更新同一页面,那该怎么做?例如,也许在第一篇文章点击您的视图后,您会在页面上显示一个图表,其中包含从路线传递到该视图的信息。如果您然后决定为表单数据的不同输入集获取新图表,因为您没有找到新路线,您是否只是在用户将新数据键入表单字段并提交时重新加载页面?如果您希望在图表之后弹出后续数据,这将如何工作?您是否只是在后台隐藏/冷却了多个 div,当某些事件发生时会取消隐藏?

【问题讨论】:

【参考方案1】:

你通常使用 jquery 来填充 div 之类的东西

<form id="my_form"> ... </form><button id="my_button">Clicky</button>
<div id="info_div"></div>
<script>
$("#my_button").click(function()
   var data = $("#my_form").serialize()
   $("#info_div").load("/url/of/bit/to/load?"+data)
)</script>

【讨论】:

以上是关于使用 AJAX 处理更新 Flask SPA 视图的正确方法的主要内容,如果未能解决你的问题,请参考以下文章

检查 Angular SPA 视图更改的缓存清单更新

Flask 异步化

是否可以将单个MVC剃刀视图/页面转换为SPA?

flask中使用ajax 处理前端请求的数据

使用淘汰赛动态更新 Jquery Mobile SPA 中的详细信息页面的最佳方法

Flask web开发 处理Ajax请求