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

如何使用jQuery刷新Python列表对应的页面标签内容?

解决方案:用jQuery刷新Flask页面中的Python列表内容

首先我先帮你补全并完善Flask后端代码,确保接口能正常返回水果数据,再实现前端的jQuery异步刷新逻辑。

1. 完善Flask后端代码

你原来的/get_fruits/路由不完整,我帮你改成支持数量参数的接口,确保能正确返回指定数量的水果列表:

from flask import Flask, render_template, request, jsonify
import requests

app = Flask(__name__)
fruits = ["Apple","Mango","Peach","Pineapple","jackfruit","guava","banana","cucumber"]

@app.route('/index')
def index():
    # 首次加载默认获取3个水果
    response = requests.get('http://127.0.0.1:5000/get_fruits/3')
    out = response.json()
    return render_template('index.html', fruits=out['fruits'])

@app.route('/')
def home():
    return "Home page"

# 补全并完善获取水果的接口,接收数量参数
@app.route('/get_fruits/<int:count>')
def get_fruits(count):
    # 防止请求数量超过水果列表总长度
    if count > len(fruits):
        count = len(fruits)
    # 截取对应数量的水果
    selected_fruits = fruits[:count]
    return jsonify({'fruits': selected_fruits})

if __name__ == '__main__':
    app.run(debug=True)

2. 编写前端模板(templates/index.html)

这个模板会展示水果列表,同时通过jQuery实现无刷新更新内容的功能,你可以选择手动点击刷新或者定时自动刷新:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Fruit List</title>
    <!-- 引入jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <h1>My Fruit List</h1>
    <!-- 用来承载水果列表的容器 -->
    <ul id="fruit-container">
        {% for fruit in fruits %}
            <li>{{ fruit }}</li>
        {% endfor %}
    </ul>
    <!-- 手动刷新按钮 -->
    <button id="refresh-btn">Refresh Fruit List</button>

    <script>
        $(document).ready(function() {
            // 定义刷新水果列表的核心函数
            function refreshFruits() {
                // 这里可以自定义获取的水果数量,比如随机生成1-8个
                const randomCount = Math.floor(Math.random() * 8) + 1;
                // 异步请求后端接口
                $.get(`/get_fruits/${randomCount}`, function(data) {
                    // 清空现有列表
                    $('#fruit-container').empty();
                    // 把新水果逐个添加到页面
                    data.fruits.forEach(function(fruit) {
                        $('#fruit-container').append(`<li>${fruit}</li>`);
                    });
                });
            }

            // 点击按钮触发刷新
            $('#refresh-btn').click(function() {
                refreshFruits();
            });

            // 可选:开启定时自动刷新,每5秒更新一次
            setInterval(refreshFruits, 5000);
        });
    </script>
</body>
</html>

3. 核心逻辑说明

  • 后端接口:/get_fruits/<int:count> 接收整数参数,返回对应数量的水果JSON数据,方便前端解析处理。
  • 前端jQuery逻辑:
    • 用$.get()发起异步请求,避免整个页面重载。
    • 请求成功后先清空原有容器,再动态插入新的水果列表项。
    • 同时支持手动点击刷新和定时自动刷新两种模式。
  • 首次加载:初始页面由Flask模板渲染填充水果列表,后续更新完全通过AJAX异步完成。

这样就能实现只刷新展示水果的标签内容,不用重载整个页面啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:28:46