Jquery 如何将AJAX数据绑定到Python应用程序?
我正在为构建我的第一个python flask web应用程序做一些基础工作。我已经整理了服务器端所需的大部分细节,但对于如何在客户端实现,我没有什么问题 我的应用程序将是一个单页应用程序,根据用户操作动态填充数据 比如说,我有一个名为index.html的模板,该模板左侧有一个菜单选项,右侧有一个表结构。当用户从菜单中选择一个选项时,我将从客户端向服务器发送一个AJAX请求,flask app routes返回一个JSON响应 这就是我的问题所在。我知道在呈现页面时如何填写表格数据。我可以使用Jquery 如何将AJAX数据绑定到Python应用程序?,jquery,python,html,ajax,flask,Jquery,Python,Html,Ajax,Flask,我正在为构建我的第一个python flask web应用程序做一些基础工作。我已经整理了服务器端所需的大部分细节,但对于如何在客户端实现,我没有什么问题 我的应用程序将是一个单页应用程序,根据用户操作动态填充数据 比如说,我有一个名为index.html的模板,该模板左侧有一个菜单选项,右侧有一个表结构。当用户从菜单中选择一个选项时,我将从客户端向服务器发送一个AJAX请求,flask app routes返回一个JSON响应 这就是我的问题所在。我知道在呈现页面时如何填写表格数据。我可以使用
render_template('index.html',tabledata = tabledata )
在我的服务器端发送表数据并使用
{% for data in tabledata %}
<tr> data </tr>
{% endfor %}
{%用于tabledata%中的数据]
资料
{%endfor%}
在我的客户端,我可以使用上面的代码
但由于我计划使用AJAX请求,我不确定如何在已经呈现的flask模板中填充从AJAX请求返回的表数据
我搜索了答案,发现我必须使用Javascript动态构建表。但我想知道有没有更好的方法来填写模板?我试图避免使用javascript构建html表
谢谢如果您想使用AJAX使用数据填充表,通常建议对API端点使用JSON(通过将HTML插入DOM向站点添加XSS是个坏主意)。只需返回一个dictionary(),如下所示:
@app.route("/some/url")
def route():
return flask.jsonify(**{"a": "dict", "returned": "becomes", "a": "JSON object"})
然后可以使用AJAX获取对象,并使用JavaScript填充表。您应该注意,Flask与客户端代码无关(除了向客户端提供代码)。是否要通过AJAX获取呈现的表?还是要获取JSON并在客户端构建表?Flask与客户端Javascript代码的功能几乎没有关系。一旦呈现了模板,浏览器就会看到HTML、CSS和Javascript。您的AJAX调用可以从Flask服务器加载整个HTML表,当然,只要让另一个端点生成该输出,而不是,JSON用于客户端呈现为HTML。我正在考虑加载数据并让客户端处理表生成。从未想过从服务器发送整个表结构。你能告诉我怎么做吗?我试图避免再次重新加载页面。