最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flask如何接收前端ajax傳來的表單(包含文件)

 更新時間:2023年01月03日 16:58:16   作者:DexterLien  
這篇文章主要介紹了Flask如何接收前端ajax傳來的表單(包含文件),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

Flask接收前端ajax傳來的表單

HTML,包含一個text類型文本框和file類型上傳文件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>拍照</title>
</head>

<body>
    <h1>拍照上傳演示</h1>
    <form id="upForm" enctype="multipart/form-data" method="POST">
        <p>
            <span>用戶名:</span>
            <input type="text" name="username" />
        </p>
        <input name="pic" type="file" accept="image/*" capture="camera" />
        <a onclick="upload()">上傳</a>
    </form>
    <img id="image" width="300" height="200" />
</body>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
    function upload() {
        var data = new FormData($("#upForm")[0]);   //注意jQuery選擇出來的結(jié)果是個數(shù)組,需要加上[0]獲取
        $.ajax({
            url: '/do',
            method: 'POST',
            data: data,
            processData: false,
            contentType: false,
            cache: false,
            success: function (ret) {
                console.log(ret)
            }
        })
      //return false	//表單直接調(diào)用的話應(yīng)該返回false防止二次提交,<form οnsubmit="return upload()">
    }
</script>

</html>

Python

import os
from flask import Flask, render_template, request, jsonify
from werkzeug import secure_filename

TEMPLATES_AUTO_RELOAD = True

app = Flask(__name__)
app.config.from_object(__name__)
# 設(shè)置Flask jsonify返回中文不轉(zhuǎn)碼
app.config['JSON_AS_ASCII'] = False

PIC_FOLDER = os.path.join(app.root_path, 'upload_pic')


@app.route('/', methods=['GET'])
def hello():
    return render_template('index.html')


@app.route('/do', methods=['POST'])
def do():
    data = request.form
    file = request.files['pic']
    result = {'username': data['username']}
    if file:
        filename = secure_filename(file.filename)
        file.save(os.path.join(PIC_FOLDER, filename))
        result['pic'] = filename

    return jsonify(result)


if __name__ == '__main__':
    app.run(debug=False, host='0.0.0.0', port=8000)

Flask利用ajax進行表單請求和響應(yīng)

前端html代碼

<form id="demo_form">
?? ?輸入框: <input type="text" name="nick_name" />
?? ?<input type="submit" value="ajax請求"/>
</form>

js代碼

//首先需要禁止form表單的action自動提交
$("#demo_form").submit(function(e){
?? ?e.preventDefault();

? ? $.ajax({
? ? ? ? url:"/demo",
? ? ? ? type:'POST',
? ? ? ? data: $(this).serialize(), ? // 這個序列化傳遞很重要
? ? ? ? headers:{
? ? ? ? ? ? "X-CSRF-Token": getCookie('csrf_token')
? ? ? ? },
? ? ? ? success:function (resp) {
? ? ? ? ? ? // window.location.href = "/admin/page";
? ? ? ? ? ? if(resp.error){
? ? ? ? ? ? ? ? console.log(resp.errmsg);
? ? ? ? ? ? }
? ? ? ? }
? ? })
});

python Flask框架的代碼

@app.route("/demo", methods=["POST"])
def demo():
?? ?nick_name = request.form.get("nick_name")
?? ?print(nick_name)
?? ?return "ok"

表單序列化很重要,否則獲取的數(shù)據(jù)是None。

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python編寫的最短路徑算法

    python編寫的最短路徑算法

    本文給大家分享的是python 無向圖最短路徑算法:請各位大大指教,繼續(xù)改進。(修改了中文字符串,使py2exe中文沒煩惱),需要的朋友可以參考下
    2015-03-03
  • 淺談圖像處理中掩膜(mask)的意義

    淺談圖像處理中掩膜(mask)的意義

    今天小編就為大家分享一篇淺談圖像處理中掩膜(mask)的意義,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式

    python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式

    這篇文章主要介紹了python數(shù)據(jù)分析之DateFrame數(shù)據(jù)排序和排名方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python讀取多類型文件夾中的文檔內(nèi)容

    python讀取多類型文件夾中的文檔內(nèi)容

    無論我們使用哪種編程語言,處理文件對于每個程序員都是必不可少的,本文主要介紹了python讀取多類型文件夾中的文檔內(nèi)容,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Python 的AES加密與解密實現(xiàn)

    Python 的AES加密與解密實現(xiàn)

    這篇文章主要介紹了Python 的AES加密與解密實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Python爬取騰訊視頻評論的思路詳解

    Python爬取騰訊視頻評論的思路詳解

    這篇文章主要介紹了Python爬取騰訊視頻評論功能,本文圖文詳解給大家提供實現(xiàn)思路,需要的朋友可以參考下
    2019-12-12
  • PyTorch中反卷積的用法詳解

    PyTorch中反卷積的用法詳解

    今天小編就為大家分享一篇PyTorch中反卷積的用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 詳解Python中zip和unzip的使用

    詳解Python中zip和unzip的使用

    這篇文章主要來和大家介紹一下Python中一個優(yōu)雅而強大的內(nèi)置功能,?zip?和?unzip,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • Python魔法方法詳解

    Python魔法方法詳解

    今天小編就為大家分享一篇關(guān)于Python魔法方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Python logging模塊寫入中文出現(xiàn)亂碼

    Python logging模塊寫入中文出現(xiàn)亂碼

    這篇文章主要介紹了Python logging模塊寫入中文出現(xiàn)亂碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05

最新評論

西林县| 长白| 沙雅县| 华亭县| 凭祥市| 临邑县| 大兴区| 北票市| 沐川县| 东方市| 中宁县| 靖宇县| 方山县| 龙岩市| 云安县| 房产| 巢湖市| 贵定县| 耒阳市| 康乐县| 若羌县| 延长县| 黄平县| 越西县| 津南区| 黎平县| 富阳市| 长丰县| 海伦市| 宿松县| 安溪县| 英吉沙县| 平罗县| 礼泉县| 黄梅县| 东海县| 康保县| 武宁县| 朝阳区| 理塘县| 洛浦县|