当前位置:首页 > 文章列表 > 文章 > 前端 > HTML数据传到Flask的几种实用方法

HTML数据传到Flask的几种实用方法

2025-08-25 13:07:34 0浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《HTML数据传到Flask的实用方法》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

将HTML中的变量数据传递到Flask

将HTML中的变量数据传递到Flask

在Web开发中,经常需要将前端HTML页面中的数据传递到后端Flask应用进行处理。如果这些数据是静态的,可以直接在Jinja模板中构建URL。但如果数据是动态的,例如来自JavaScript变量,则需要结合Jinja和JavaScript来实现。

问题:为什么直接在Jinja模板中使用JavaScript变量行不通?

Jinja模板引擎在服务器端渲染HTML页面时,会将{{ ... }}中的内容替换为相应的值。当你在Jinja模板中使用JavaScript变量时,例如'{{ url_for( "move_forward" , title=data) }}',Flask/Jinja并不知道data是什么,因为它无法与JavaScript交互。Jinja只是尝试替换一个字符串,而data变量的值只存在于客户端的JavaScript环境中。

解决方案:结合Jinja和JavaScript动态构建URL

要解决这个问题,可以将URL的基本部分使用Jinja生成,然后使用JavaScript将变量值添加到URL中。

以下是一个示例:

代码解释:

  1. var baseUrl = '{{ url_for("move_forward") }}';: 这行代码使用Jinja的url_for函数生成move_forward路由的基本URL。url_for函数会根据Flask应用中的路由配置生成正确的URL,例如/move_forward。这个URL是在服务器端生成的,并且会嵌入到HTML页面中。
  2. var data = "shan";: 这行代码定义了一个JavaScript变量data,并赋值为"shan"。这可以是任何动态生成的值,例如用户输入或从其他JavaScript函数获取的值。
  3. window.location.href = baseUrl + "/" + data;: 这行代码使用JavaScript将基本URL和变量data的值拼接在一起,然后将window.location.href设置为新的URL。这会导致浏览器重定向到新的URL,并将data的值作为参数传递给Flask路由。

Flask后端代码:

from flask import Flask

app = Flask(__name__)

@app.route("/move_forward/")
def move_forward(title):
    print(title)
    return f"Received title: {title}"

if __name__ == '__main__':
    app.run(debug=True)</pre><p><strong>代码解释:</strong></p><ol><li><strong>@app.route("/move_forward/<title>")</strong>:  这行代码定义了一个Flask路由,它接受一个名为title的参数。<title>表示URL中的一个变量部分,Flask会将这部分的值传递给move_forward函数。</li><li><strong>def move_forward(title):</strong>:  这行代码定义了处理move_forward路由的函数。该函数接受一个名为title的参数,该参数的值是从URL中提取的。</li><li><strong>print(title)</strong>:  这行代码将title的值打印到控制台,以便你可以看到Flask接收到的值。</li><li><strong>return f"Received title: {title}"</strong>: 这行代码返回一个包含接收到的title的字符串,并在浏览器中显示。</li></ol><p><strong>注意事项:</strong></p><ul><li>确保Flask路由中的参数名称与JavaScript代码中传递的参数名称匹配。</li><li>如果需要传递多个变量,可以使用&符号将它们连接在一起,例如baseUrl + "/" + data1 + "¶m2=" + data2。</li><li>考虑对传递的数据进行URL编码,以确保特殊字符能够正确传递。可以使用JavaScript的encodeURIComponent()函数进行编码。</li><li>如果需要传递大量数据,或者数据比较复杂,可以考虑使用POST请求,并将数据作为请求体发送。</li></ul><p><strong>总结:</strong></p><p>通过结合Jinja模板和JavaScript,可以灵活地将HTML页面中的变量数据传递到Flask后端。这种方法允许动态构建URL,并将变量值作为参数传递给Flask路由,从而实现更复杂的Web应用功能。 记住,Jinja在服务器端运行,而JavaScript在客户端运行,理解这一点对于正确地将两者结合使用至关重要。</p><p>终于介绍完啦!小伙伴们,这篇关于《HTML数据传到Flask的几种实用方法》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布文章相关知识,快来关注吧!</p>                </div>
                <div class="labsList">
                                    </div>
                                <div class="cateBox">
                                        <div class="cateItem">
                        <a href="/article/297373.html" title="Java垃圾回收算法对比与优化技巧" class="img_box">
                            <img src="/uploads/20250825/175609828168abeee9277eb.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="Java垃圾回收算法对比与优化技巧">Java垃圾回收算法对比与优化技巧                        </a>
                        <dl>
                            <dt class="lineOverflow"><a href="/article/297373.html"  title="Java垃圾回收算法对比与优化技巧" class="aBlack">上一篇<i></i></a></dt>
                            <dd class="lineTwoOverflow">Java垃圾回收算法对比与优化技巧</dd>
                        </dl>
                    </div>
                                        <div class="cateItem">
                        <a href="/article/297375.html"  title="PHP调用OpenAI做智能问答页面教程" class="img_box">
                            <img src="/uploads/20250825/175609843668abef84b31fa.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="PHP调用OpenAI做智能问答页面教程">
                        </a>
                        <dl>
                            <dt class="lineOverflow"><a href="/article/297375.html"  class="aBlack" title="PHP调用OpenAI做智能问答页面教程">下一篇<i></i></a></dt>
                            <dd class="lineTwoOverflow">PHP调用OpenAI做智能问答页面教程</dd>
                        </dl>
                    </div>
                                    </div>
            </div>
        </div>
                <div class="leftContBox pt0">
            <div class="pdl20">
                <div class="contTit">
                    <a href="/articlelist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a>
                    <div class="tit">最新文章</div>
                </div>
            </div>
            <ul class="newArticleList">
                                <li>
                    <div class="contBox">
                        <a href="/article/625257.html" class="img_box" title="JavaScript structuredClone 复制对象时哪些值仍然不能克隆">
                            <img src="/uploads/20260908/1788854155-5cc552fd27-49cd8b2155-structuredclone-boundary-map.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="JavaScript structuredClone 复制对象时哪些值仍然不能克隆">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  41分钟前  |  

                                                                        <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> ·
                                                                          <a href="/articletag/43031_new_0_1.html" class="aLightGray" title="structuredClone">structuredClone</a> ·
                                                                          <a href="/articletag/43032_new_0_1.html" class="aLightGray" title="对象复制">对象复制</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="JavaScript">JavaScript</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="深拷贝">深拷贝</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="structuredClone">structuredClone</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="DataCloneError">DataCloneError</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625257.html" class="aBlack" target="_blank" title="JavaScript structuredClone 复制对象时哪些值仍然不能克隆">JavaScript structuredClone 复制对象时哪些值仍然不能克隆</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>377浏览</span>
                                <span class="collectBtn user_collection" data-id="625257" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625233.html" class="img_box" title="CSS container query 怎么让卡片按父容器宽度切换布局">
                            <img src="/uploads/20260908/1788849599-df44e4a274-ea921295ee-container-query-boundary.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="CSS container query 怎么让卡片按父容器宽度切换布局">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  1小时前  |  

                                                                        <a href="/articletag/161_new_0_1.html" class="aLightGray" title="布局">布局</a> ·
                                                                          <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/4729_new_0_1.html" class="aLightGray" title="css">css</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="响应式布局">响应式布局</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="卡片组件">卡片组件</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="CSS container queries">CSS container queries</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625233.html" class="aBlack" target="_blank" title="CSS container query 怎么让卡片按父容器宽度切换布局">CSS container query 怎么让卡片按父容器宽度切换布局</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>349浏览</span>
                                <span class="collectBtn user_collection" data-id="625233" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625197.html" class="img_box" title="前端 Worker terminate 后未完成消息怎么处理">
                            <img src="/uploads/20260908/1788840611-5de04251f0-95f90b07cc-worker-cooperative-cancel.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 Worker terminate 后未完成消息怎么处理">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  4小时前  |  

                                                  </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625197.html" class="aBlack" target="_blank" title="前端 Worker terminate 后未完成消息怎么处理">前端 Worker terminate 后未完成消息怎么处理</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>199浏览</span>
                                <span class="collectBtn user_collection" data-id="625197" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625174.html" class="img_box" title="前端 Web Worker 传输对象后为什么主线程拿到的是副本">
                            <img src="/uploads/20260908/1788834858-30322a64db-d2fc0b3fbd-worker-clone-boundary.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 Web Worker 传输对象后为什么主线程拿到的是副本">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  6小时前  |  

                                                                        <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/861_new_0_1.html" class="aLightGray" title="性能">性能</a> ·
                                                                          <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> ·
                                                                          <a href="/articletag/40054_new_0_1.html" class="aLightGray" title="浏览器API">浏览器API</a> ·
                                                                          <a href="/articletag/41028_new_0_1.html" class="aLightGray" title="Web Worker">Web Worker</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="ArrayBuffer">ArrayBuffer</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="postMessage">postMessage</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="Web Worker">Web Worker</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="structured clone">structured clone</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="transfer list">transfer list</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625174.html" class="aBlack" target="_blank" title="前端 Web Worker 传输对象后为什么主线程拿到的是副本">前端 Web Worker 传输对象后为什么主线程拿到的是副本</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>290浏览</span>
                                <span class="collectBtn user_collection" data-id="625174" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625150.html" class="img_box" title="前端 Service Worker fetch 拦截如何绕过不该缓存的请求">
                            <img src="/uploads/20260908/1788830344-e9ec56ac7b-44c9863f05-sw-cache-network-contract.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 Service Worker fetch 拦截如何绕过不该缓存的请求">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  7小时前  |  

                                                  </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625150.html" class="aBlack" target="_blank" title="前端 Service Worker fetch 拦截如何绕过不该缓存的请求">前端 Service Worker fetch 拦截如何绕过不该缓存的请求</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>418浏览</span>
                                <span class="collectBtn user_collection" data-id="625150" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625126.html" class="img_box" title="前端 Service Worker 的 skipWaiting 和 clientsClaim 怎么安排版本切换">
                            <img src="/uploads/20260908/1788826056-08042f6b8b-1b7e6c2476-sw-cache-compatibility-boundary.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 Service Worker 的 skipWaiting 和 clientsClaim 怎么安排版本切换">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  8小时前  |  

                                                                        <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/10234_new_0_1.html" class="aLightGray" title="pwa">pwa</a> ·
                                                                          <a href="/articletag/14884_new_0_1.html" class="aLightGray" title="Service Worker">Service Worker</a> ·
                                                                          <a href="/articletag/42691_new_0_1.html" class="aLightGray" title="缓存更新">缓存更新</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="Service Worker">Service Worker</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="skipWaiting">skipWaiting</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="clientsClaim">clientsClaim</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="缓存版本">缓存版本</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="前端缓存更新">前端缓存更新</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625126.html" class="aBlack" target="_blank" title="前端 Service Worker 的 skipWaiting 和 clientsClaim 怎么安排版本切换">前端 Service Worker 的 skipWaiting 和 clientsClaim 怎么安排版本切换</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>410浏览</span>
                                <span class="collectBtn user_collection" data-id="625126" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625102.html" class="img_box" title="前端 createObjectURL 预览文件后什么时候 revoke">
                            <img src="/uploads/20260908/1788821646-70ba550488-dc0ad1d349-object-url-create-and-consumers.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 createObjectURL 预览文件后什么时候 revoke">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  9小时前  |  

                                                  </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625102.html" class="aBlack" target="_blank" title="前端 createObjectURL 预览文件后什么时候 revoke">前端 createObjectURL 预览文件后什么时候 revoke</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>422浏览</span>
                                <span class="collectBtn user_collection" data-id="625102" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625078.html" class="img_box" title="前端 Blob.slice 上传分片时怎么计算最后一片长度">
                            <img src="/uploads/20260908/1788817532-a3c21e6603-0a064701a5-blob-slice-boundary.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 Blob.slice 上传分片时怎么计算最后一片长度">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  10小时前  |  

                                                  </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625078.html" class="aBlack" target="_blank" title="前端 Blob.slice 上传分片时怎么计算最后一片长度">前端 Blob.slice 上传分片时怎么计算最后一片长度</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>432浏览</span>
                                <span class="collectBtn user_collection" data-id="625078" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625055.html" class="img_box" title="前端 IndexedDB 事务自动提交前为什么不能异步等待">
                            <img src="/uploads/20260908/1788813299-707db1df60-6d3346e9c6-idb-transaction-event-loop.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 IndexedDB 事务自动提交前为什么不能异步等待">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  12小时前  |  

                                                  </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625055.html" class="aBlack" target="_blank" title="前端 IndexedDB 事务自动提交前为什么不能异步等待">前端 IndexedDB 事务自动提交前为什么不能异步等待</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>398浏览</span>
                                <span class="collectBtn user_collection" data-id="625055" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625031.html" class="img_box" title="前端 IndexedDB 版本升级被阻塞时怎么提示旧页面关闭">
                            <img src="/uploads/20260908/1788808915-6d8404d99f-1c5829bc75-indexeddb-connection-events.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 IndexedDB 版本升级被阻塞时怎么提示旧页面关闭">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  13小时前  |  

                                                                        <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/40530_new_0_1.html" class="aLightGray" title="浏览器存储">浏览器存储</a> ·
                                                                          <a href="/articletag/42941_new_0_1.html" class="aLightGray" title="IndexedDB">IndexedDB</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="多标签页">多标签页</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="IndexedDB">IndexedDB</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="versionchange">versionchange</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="onblocked">onblocked</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625031.html" class="aBlack" target="_blank" title="前端 IndexedDB 版本升级被阻塞时怎么提示旧页面关闭">前端 IndexedDB 版本升级被阻塞时怎么提示旧页面关闭</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>383浏览</span>
                                <span class="collectBtn user_collection" data-id="625031" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/625007.html" class="img_box" title="前端 ReadableStream 读取中断后怎么取消底层请求">
                            <img src="/uploads/20260908/1788804610-84d568a5d5-1c3d70d786-readable-cancel-boundary.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 ReadableStream 读取中断后怎么取消底层请求">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  14小时前  |  

                                                                        <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> ·
                                                                          <a href="/articletag/40436_new_0_1.html" class="aLightGray" title="流式读取">流式读取</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="Fetch">Fetch</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="AbortController">AbortController</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="ReadableStream">ReadableStream</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/625007.html" class="aBlack" target="_blank" title="前端 ReadableStream 读取中断后怎么取消底层请求">前端 ReadableStream 读取中断后怎么取消底层请求</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>306浏览</span>
                                <span class="collectBtn user_collection" data-id="625007" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                                <li>
                    <div class="contBox">
                        <a href="/article/624983.html" class="img_box" title="前端 fetch 大文件时怎么用 ReadableStream 逐块处理">
                            <img src="/uploads/20260908/1788800292-47e8221bd5-0d1d6a40ef-fetch-readable-stream-data-path.webp" onerror="this.src='/assets/images/moren/morentu.png'" alt="前端 fetch 大文件时怎么用 ReadableStream 逐块处理">
                        </a>
                        <dl>
                            <dd class="cont1">
                  <span>
                                                                <a href="/articlelist/19_new_0_1.html" class="aLightGray" title="文章">文章</a> ·
                                                                            <a href="/articlelist/88_new_0_1.html" class="aLightGray" title="前端">前端</a>
                                                       |  15小时前  |  

                                                                        <a href="/articletag/243_new_0_1.html" class="aLightGray" title="前端">前端</a> ·
                                                                          <a href="/articletag/729_new_0_1.html" class="aLightGray" title="性能优化">性能优化</a> ·
                                                                          <a href="/articletag/4701_new_0_1.html" class="aLightGray" title="javascript">javascript</a> ·
                                                                          <a href="/articletag/40974_new_0_1.html" class="aLightGray" title="Fetch API">Fetch API</a> ·
                                                                                   <a href="javascript:;" class="aLightGray" title="Fetch">Fetch</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="AbortController">AbortController</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="ReadableStream">ReadableStream</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="TextDecoderStream">TextDecoderStream</a>
                                                                                             <a href="javascript:;" class="aLightGray" title="大文件分块">大文件分块</a>
                                                              </span>
                            </dd>
                            <dt class="lineOverflow">
                                <a href="/article/624983.html" class="aBlack" target="_blank" title="前端 fetch 大文件时怎么用 ReadableStream 逐块处理">前端 fetch 大文件时怎么用 ReadableStream 逐块处理</a>
                            </dt>
                            <dd class="cont2">
                                <span><i class="view"></i>483浏览</span>
                                <span class="collectBtn user_collection" data-id="624983" data-type="article" title="收藏"><i class="collect"></i>收藏</span>
                            </dd>
                        </dl>
                    </div>
                </li>
                            </ul>
        </div>
    </div>
    <div class="mainRight">
        <!-- 右侧广告位banner -->
        <div class="rightContBox" style="margin-top: 0px;">
            <div class="rightTit">
                <a href="/courselist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a>
                <div class="tit lineOverflow">课程推荐</div>
            </div>
            <ul class="lessonRecomRList">
                                <li>
                    <a href="/course/9.html" class="img_box" target="_blank" title="前端进阶之JavaScript设计模式">
                        <img src="/uploads/20221222/52fd0f23a454c71029c2c72d206ed815.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="前端进阶之JavaScript设计模式">
                                            </a>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/course/9.html" target="_blank" class="aBlack" title="前端进阶之JavaScript设计模式">前端进阶之JavaScript设计模式</a></dt>
                        <dd class="cont1 lineTwoOverflow">
                            设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。                        </dd>
                        <dd class="cont2">543次学习</dd>
                    </dl>
                </li>
                                <li>
                    <a href="/course/2.html" class="img_box" target="_blank" title="GO语言核心编程课程">
                        <img src="/uploads/20221221/634ad7404159bfefc6a54a564d437b5f.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="GO语言核心编程课程">
                                            </a>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/course/2.html" target="_blank" class="aBlack" title="GO语言核心编程课程">GO语言核心编程课程</a></dt>
                        <dd class="cont1 lineTwoOverflow">
                            本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。                        </dd>
                        <dd class="cont2">516次学习</dd>
                    </dl>
                </li>
                                <li>
                    <a href="/course/74.html" class="img_box" target="_blank" title="简单聊聊mysql8与网络通信">
                        <img src="/uploads/20240103/bad35fe14edbd214bee16f88343ac57c.png" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="简单聊聊mysql8与网络通信">
                                            </a>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/course/74.html" target="_blank" class="aBlack" title="简单聊聊mysql8与网络通信">简单聊聊mysql8与网络通信</a></dt>
                        <dd class="cont1 lineTwoOverflow">
                            如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让                        </dd>
                        <dd class="cont2">500次学习</dd>
                    </dl>
                </li>
                                <li>
                    <a href="/course/57.html" class="img_box" target="_blank" title="JavaScript正则表达式基础与实战">
                        <img src="/uploads/20221226/bbe4083bb3cb0dd135fb02c31c3785fb.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="JavaScript正则表达式基础与实战">
                                            </a>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/course/57.html" target="_blank" class="aBlack" title="JavaScript正则表达式基础与实战">JavaScript正则表达式基础与实战</a></dt>
                        <dd class="cont1 lineTwoOverflow">
                            在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。                        </dd>
                        <dd class="cont2">487次学习</dd>
                    </dl>
                </li>
                                <li>
                    <a href="/course/28.html" class="img_box" target="_blank" title="从零制作响应式网站—Grid布局">
                        <img src="/uploads/20221223/ac110f88206daeab6c0cf38ebf5fe9ed.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="从零制作响应式网站—Grid布局">
                                            </a>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/course/28.html" target="_blank" class="aBlack" title="从零制作响应式网站—Grid布局">从零制作响应式网站—Grid布局</a></dt>
                        <dd class="cont1 lineTwoOverflow">
                            本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。                        </dd>
                        <dd class="cont2">485次学习</dd>
                    </dl>
                </li>
                            </ul>
        </div>
        <div class="rightContBox">
        <div class="rightTit">
            <a href="/ai.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a>
            <div class="tit lineOverflow">AI推荐</div>
        </div>
        <ul class="lessonRecomRList">
                        <li>
                <a href="/ai/13899.html"  target="_blank" title="H2O EvalGPT:开源LLM大模型评估与排行榜工具" class="img_box">
                    <img src="/uploads/20260908/17887986376a9ee6adaf3f5.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="H2O EvalGPT:开源LLM大模型评估与排行榜工具" style="object-fit:cover;width:100%;height:100%;">
                </a>
                <dl>
                    <dt class="lineTwoOverflow"><a href="/ai/13899.html" class="aBlack" target="_blank" title="H2O EvalGPT">H2O EvalGPT</a></dt>
                    <dd class="cont1 lineTwoOverflow">
                        H2O EvalGPT是H2O.ai推出的开源LLM评估平台,提供详细的大模型性能排行榜、行业特定基准测试及A/B测试功能,助您快速选择最适合项目的高性能大语言模型。                    </dd>
                    <dd class="cont2">27次使用</dd>
                </dl>
            </li>
                        <li>
                <a href="/ai/13892.html"  target="_blank" title="SuperCLUE中文大模型评测基准:功能、能力维度与应用指南" class="img_box">
                    <img src="/uploads/20260831/17881740316a955ecf5901d.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="SuperCLUE中文大模型评测基准:功能、能力维度与应用指南" style="object-fit:cover;width:100%;height:100%;">
                </a>
                <dl>
                    <dt class="lineTwoOverflow"><a href="/ai/13892.html" class="aBlack" target="_blank" title="SuperCLUE">SuperCLUE</a></dt>
                    <dd class="cont1 lineTwoOverflow">
                        SuperCLUE是权威的中文大语言模型综合评测基准,涵盖语言理解、知识应用、AI Agent智能体及安全性等12项核心能力。通过多轮对话与客观测试,定期发布榜单与技术报告,为模型研发、优化及行业选型提供科学依据。                    </dd>
                    <dd class="cont2">180次使用</dd>
                </dl>
            </li>
                        <li>
                <a href="/ai/13891.html"  target="_blank" title="C-Eval中文评测基准:大语言模型多学科能力评估指南" class="img_box">
                    <img src="/uploads/20260902/17883342316a97d09714cfd.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="C-Eval中文评测基准:大语言模型多学科能力评估指南" style="object-fit:cover;width:100%;height:100%;">
                </a>
                <dl>
                    <dt class="lineTwoOverflow"><a href="/ai/13891.html" class="aBlack" target="_blank" title="C-Eval">C-Eval</a></dt>
                    <dd class="cont1 lineTwoOverflow">
                        深入了解C-Eval中文评估套件,涵盖52个学科与4级难度。本文详解其功能特点、Zero-shot/Few-shot使用方法及代码示例,助您全面评测LLM中文理解与泛化能力。                    </dd>
                    <dd class="cont2">119次使用</dd>
                </dl>
            </li>
                        <li>
                <a href="/ai/13888.html"  target="_blank" title="AI Prompt Library:免费AI提示词库,助力ChatGPT高效创作与营销" class="img_box">
                    <img src="/uploads/20260906/17886942316a9d4ed7bbf53.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="AI Prompt Library:免费AI提示词库,助力ChatGPT高效创作与营销" style="object-fit:cover;width:100%;height:100%;">
                </a>
                <dl>
                    <dt class="lineTwoOverflow"><a href="/ai/13888.html" class="aBlack" target="_blank" title="AI Prompt Library">AI Prompt Library</a></dt>
                    <dd class="cont1 lineTwoOverflow">
                        探索AI Prompt Library免费资源库,涵盖营销、写作及多场景AI提示词。兼容ChatGPT、Claude等工具,一键复制优化输出,提升工作效率。                    </dd>
                    <dd class="cont2">46次使用</dd>
                </dl>
            </li>
                        <li>
                <a href="/ai/13883.html"  target="_blank" title="Generrated:DALL·E 2/3 AI绘画提示词灵感库与图像对比平台" class="img_box">
                    <img src="/uploads/20260908/17888004336a9eedb167dca.jpg" onerror="this.onerror='',this.src='/assets/images/moren/morentu.png'" alt="Generrated:DALL·E 2/3 AI绘画提示词灵感库与图像对比平台" style="object-fit:cover;width:100%;height:100%;">
                </a>
                <dl>
                    <dt class="lineTwoOverflow"><a href="/ai/13883.html" class="aBlack" target="_blank" title="Generrated">Generrated</a></dt>
                    <dd class="cont1 lineTwoOverflow">
                        Generrated汇集9300+张DALL·E生成图像及对应提示词,支持查看完整图集、对比DALL·E 2与3版本差异,是AI绘图新手学习Prompt设计与获取创作灵感的实用工具。                    </dd>
                    <dd class="cont2">24次使用</dd>
                </dl>
            </li>
                    </ul>
    </div>
        <!-- 相关文章 -->
        <div class="rightContBox">
            <div class="rightTit">
                <a href="/articlelist.html" class="more" title="查看更多">查看更多<i class="iconfont"></i></a>
                <div class="tit lineOverflow">相关文章</div>
            </div>
            <ul class="aboutArticleRList">
                                <li>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/article/207000.html"  class="aBlack" title="JavaScript函数定义及示例详解">JavaScript函数定义及示例详解</a></dt>
                        <dd>
                            <span class="left">2025-05-11</span>
                            <span class="right">502浏览</span>
                        </dd>
                    </dl>
                </li>
                                <li>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/article/621422.html"  class="aBlack" title="智能体安全引领产业升级——国内AI安全产品市场深度分析">智能体安全引领产业升级——国内AI安全产品市场深度分析</a></dt>
                        <dd>
                            <span class="left">2026-08-21</span>
                            <span class="right">501浏览</span>
                        </dd>
                    </dl>
                </li>
                                <li>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/article/619053.html"  class="aBlack" title="CSS变量简化按钮悬停效果技巧">CSS变量简化按钮悬停效果技巧</a></dt>
                        <dd>
                            <span class="left">2026-05-31</span>
                            <span class="right">501浏览</span>
                        </dd>
                    </dl>
                </li>
                                <li>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/article/618916.html"  class="aBlack" title="JavaScript符号类型详解与应用">JavaScript符号类型详解与应用</a></dt>
                        <dd>
                            <span class="left">2026-05-31</span>
                            <span class="right">501浏览</span>
                        </dd>
                    </dl>
                </li>
                                <li>
                    <dl>
                        <dt class="lineTwoOverflow"><a href="/article/612539.html"  class="aBlack" title="HTML剪贴板复制粘贴怎么用">HTML剪贴板复制粘贴怎么用</a></dt>
                        <dd>
                            <span class="left">2026-05-26</span>
                            <span class="right">501浏览</span>
                        </dd>
                    </dl>
                </li>
                            </ul>
        </div>
    </div>
</div>
<div class="footer">
    <div class="footerIn">
        <div class="footLeft">
            <div class="linkBox">
                <a href="/about/1.html"  target="_blank" class="aBlack" title="关于我们">关于我们</a>
                <a href="/about/5.html" target="_blank" class="aBlack" title="免责声明">免责声明</a>
                <a href="#" class="aBlack"  title="意见反馈">意见反馈</a>
                <a href="/about/2.html" class="aBlack" target="_blank" title="联系我们">联系我们</a>
                <a href="/send.html" class="aBlack"  title="广告合作">内容提交</a>
                 <a href="/manual/go/" target="_blank" class="aBlack" title="手册">手册</a>
            </div>
            <div class="footTip">Golang学习网:公益在线Go学习平台,帮助Go学习者快速成长!</div>
            <div class="shareBox">
                <span><i class="qq"></i>技术交流群</span>
            </div>
            <div class="copyRight">
                Copyright 2023 http://www.17golang.com/ All Rights Reserved | <a href="https://beian.miit.gov.cn/" target="_blank" title="备案">湘ICP备19018815号-4</a>
            </div>
        </div>
        <div class="footRight">
            <ul class="encodeList">
                
                <li>
                    <div class="encodeImg">
                        <img src="/assets/examples/qrcode_for_gh.jpg" alt="Golang学习网">
                    </div>
                    <div class="tit">关注公众号</div>
                    <div class="tip">Golang学习网</div>
                </li>
                <div class="clear"></div>
            </ul>
        </div>
        <div class="clear"></div>
    </div>
</div>
<!-- 微信登录弹窗 -->
<style>
 .popupBg .n-error{
  color: red;
 }
  </style>
<div class="popupBg">
    <div class="loginBoxBox">
      <div class="imgbg">
        <img src="/assets/images/leftlogo.jpg" alt="">
      </div>
      <!-- 微信登录 -->
      <div class="loginInfo encodeLogin" style="display: none;">
        <div class="closeIcon" onclick="$('.popupBg').hide();"></div>
        <div class="changeLoginType cursorPointer create_wxqrcode" onclick="$('.loginInfo').hide();$('.passwordLogin').show();">
          <div class="tip">密码登录在这里</div>
        </div>
        <div class="encodeInfo">
          <div class="tit"><i></i> 微信扫码登录或注册</div>
          <div class="encodeImg">
            <span id="wx_login_qrcode"><img src="/assets/examples/code.png"  alt="二维码"></span>
            <!-- <div class="refreshBox">
              <p>二维码失效</p>
              <button type="button" class="create_wxqrcode">刷新1111</button>
            </div> -->
          </div>
          <div class="tip">打开微信扫一扫,快速登录/注册</div>
        </div>
        <div class="beforeLoginTip">登录即同意 <a href="#" class="aBlue" title="用户协议">用户协议</a> 和 <a href="#" class="aBlue" title="隐私政策">隐私政策</a></div>
      </div>
      <!-- 密码登录 -->
      <div class="loginInfo passwordLogin">
        <div class="closeIcon" onclick="$('.popupBg').hide();"></div>
        <div class="changeLoginType cursorPointer create_wxqrcode" onclick="$('.loginInfo').hide();$('.encodeLogin').show();">
          <div class="tip">微信登录更方便</div>
        </div>
        <div class="passwordInfo">
          <ul class="logintabs selfTabMenu">
            <li class="selfTabItem loginFormLi curr">密码登录</li> 
            <li class="selfTabItem registerFormBox ">注册账号</li>
          </ul>
          <div class="selfTabContBox">
            <div class="selfTabCont loginFormBox" style="display: block;">
              <form name="form" id="login-form" class="form-vertical form" method="POST" action="/index/user/login">
                <input type="hidden" name="url" value="//www.17golang.com/article/297374.html"/>
                <input type="hidden" name="__token__" value="5433639372bcf9411c975100b4a60824" />                <div class="form-group" style="height:70px;">
                  <input class="form-control" id="account" type="text" name="account" value="" data-rule="required" placeholder="邮箱/用户名" autocomplete="off">
                </div>
                <div class="form-group" style="height:70px;">
                  <input class="form-control" id="password" type="password" name="password" data-rule="required;password" placeholder="密码" autocomplete="off">
                </div>
                <div class="codeBox" style="height:70px;">
                  <div class="form-group" style="height:70px; width:205px; float: left;">
                    <input type="text" name="captcha" class="form-control" placeholder="验证码" data-rule="required;length(4)" />
                  </div>
                <span class="input-group-btn" style="padding:0;border:none;">
                    <img src="/captcha.html" width="100" height="45" onclick="this.src = '/captcha.html?r=' + Math.random();"/>
                </span>
              </div>
                <div class="other">
                  <a href="#" class="forgetPwd aGray" onclick="$('.loginInfo').hide();$('.passwordForget').show();" title="忘记密码">忘记密码</a>
                </div>
                <div class="loginBtn mt25">
                  <button type="submit">登录</button>
                </div>
              </form>
            </div>
            <div class="selfTabCont registerFormBox" style="display: none;">
                <form name="form1" id="register-form" class="form-vertical form" method="POST" action="/index/user/register">
                <input type="hidden" name="invite_user_id" value="0"/>
                <input type="hidden" name="url" value="//www.17golang.com/article/297374.html"/>
                <input type="hidden" name="__token__" value="5433639372bcf9411c975100b4a60824" />                <div class="form-group" style="height:70px;">
                <input type="text" name="email" id="email2" data-rule="required;email" class="form-control" placeholder="邮箱">
              </div>
                <div class="form-group" style="height:70px;">
                <input type="text" id="username" name="username" data-rule="required;username" class="form-control" placeholder="用户名必须3-30个字符">
                </div>
                <div class="form-group" style="height:70px;">
                <input type="password" id="password2" name="password" data-rule="required;password" class="form-control" placeholder="密码必须6-30个字符">
              </div>
                <div class="codeBox" style="height:70px;">
                  <div class="form-group" style="height:70px; width:205px; float: left;">
                    <input type="text" name="captcha" class="form-control"  placeholder="验证码" data-rule="required;length(4)" />
                  </div>
                <span class="input-group-btn" style="padding:0;border:none;">
                    <img src="/captcha.html" width="100" height="45" onclick="this.src = '/captcha.html?r=' + Math.random();"/>
                </span>
              </div>
               
                <div class="loginBtn">
                  <button type="submit">注册</button>
                </div>
              </form>
            </div>
          </div>
        </div>
        <div class="beforeLoginTip">登录即同意 <a href="https://www.17golang.com/about/3.html" target="_blank" class="aBlue" title="用户协议">用户协议</a> 和 <a href="https://www.17golang.com/about/4.html" target="_blank" class="aBlue" title="隐私政策">隐私政策</a></div>
      </div>
		<!-- 重置密码 -->
		<div class="loginInfo passwordForget">
			<div class="closeIcon" onclick="$('.popupBg').hide();"></div>
			<div class="returnLogin cursorPointer" onclick="$('.passwordForget').hide();$('.passwordLogin').show();">返回登录</div>
			<div class="passwordInfo">
			<ul class="logintabs selfTabMenu">
				<li class="selfTabItem">重置密码</li>
			</ul>
			<div class="selfTabContBox">
				<div class="selfTabCont">
				<form id="resetpwd-form" class="form-horizontal form-layer nice-validator n-default n-bootstrap form" method="POST" action="/api/user/resetpwd.html" novalidate="novalidate">
          <div style="height:70px;">
          <input type="text" class="form-control" id="email" name="email" value="" placeholder="输入邮箱" aria-invalid="true">
        </div>
					
          <div class="codeBox" style="height:70px;">
            <div class="form-group" style="height:70px; width:205px; float: left;">
              <input type="text" name="captcha" class="form-control"  placeholder="验证码" />
            </div>
            <span class="input-group-btn" style="padding:0;border:none;">
                <a href="javascript:;" class="btn btn-primary btn-captcha cursorPointer" style="background: #2080F8; border-radius: 4px; color: #fff; padding: 12px;
                position: absolute;" data-url="/api/ems/send.html" data-type="email" data-event="resetpwd">发送验证码</a>
            </span>
        </div>

					 <input type="password" class="form-control" id="newpassword" name="newpassword" value="" placeholder="请输入6-18位密码">
			

					<div class="loginBtn mt25">
					<button type="submit">重置密码</button>
					</div>
				</form>
				</div>
			</div>
			</div>
		</div>
    </div>
  </div>


<script src="/assets/js/juejin-theme.js?v=20260613b" defer></script>
<script>
var _hmt = _hmt || [];
(function() {
  var hm = document.createElement("script");
  hm.src = "https://hm.baidu.com/hm.js?e34c3e8ab31ba35d7e1c48ea8d77315f";
  var s = document.getElementsByTagName("script")[0]; 
  s.parentNode.insertBefore(hm, s);
})();
</script>

<script src="/assets/js/frontend/common.js"></script>
</body>
</html>