Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 如何将AJAX数据绑定到Python应用程序?_Jquery_Python_Html_Ajax_Flask - Fatal编程技术网

Jquery 如何将AJAX数据绑定到Python应用程序?

Jquery 如何将AJAX数据绑定到Python应用程序?,jquery,python,html,ajax,flask,Jquery,Python,Html,Ajax,Flask,我正在为构建我的第一个python flask web应用程序做一些基础工作。我已经整理了服务器端所需的大部分细节,但对于如何在客户端实现,我没有什么问题 我的应用程序将是一个单页应用程序,根据用户操作动态填充数据 比如说,我有一个名为index.html的模板,该模板左侧有一个菜单选项,右侧有一个表结构。当用户从菜单中选择一个选项时,我将从客户端向服务器发送一个AJAX请求,flask app routes返回一个JSON响应 这就是我的问题所在。我知道在呈现页面时如何填写表格数据。我可以使用

我正在为构建我的第一个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。我正在考虑加载数据并让客户端处理表生成。从未想过从服务器发送整个表结构。你能告诉我怎么做吗?我试图避免再次重新加载页面。