JavaScrip ajaxt和python flask通过json传递数据的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScrip ajaxt和python flask通过json传递数据的方法相关的知识,希望对你有一定的参考价值。

JavaScript调用ajax发送一个json

        $(‘#cc‘).click(function () {
            mdffilepath = {
                ‘name1‘: ‘aaaa1‘,‘name2‘: ‘aaaa2‘,‘name3‘: ‘aaaa3‘,‘name4‘: ‘aaaa4‘//要发送的字典,在JavaScript里被定义为对象
            }; //传输数据
            $.ajax({
                type: ‘POST‘,
                url: ‘/calc/read_inca_func‘,
                data: JSON.stringify(mdffilepath),//将对象打包成json的字符串发送,对应下面也要将字符串解码成字典
                contentType: ‘application/json;charset=UTF-8‘,//编码格式
                dataType: ‘json‘,
                success: function (data) {
                    console.log(typeof(data["calc"]));//打印为字符串
                    console.log(data["calc"]);//打印为对象object
                }
            })
        })

from flask import Flask,render_template, request, url_for, jsonify
import os
import json
import sys
import subprocess

app = Flask(__name__)//与下面的  app.run()对应
app.config[‘SECRET_KEY‘] = "dfdfdffdad"//抄的,不知道干嘛

@app.route(‘/‘)
def index():
    return render_template(‘index.html‘)

@app.route(‘/calc/read_inca_func‘, methods=[‘POST‘])
def upload_file():
    a=request.get_data()//得到JavaScript发送的字符串流
    print(type(a))//bytes
    s1 = str(a, encoding=‘utf-8‘)//解码为string
    print(type(s1))
    print(s1)
    user_dict1 = json.loads(s1)//将string变成dict
    for key in user_dict1.keys():
        print(key,user_dict1[key])
    user_dict = json.loads(a)//将bytes变成dict
    # info = eval(str(requests.post(url_now).content.decode()))//抄的,不知道什么意思
    for key in user_dict.keys():
        print(key,user_dict[key])
    dict4={"calc":"fail"}
    return jsonify(dict4)

if __name__ == ‘__main__‘://flask实例化,上面相当于类的子函数
    app.run()

以上是关于JavaScrip ajaxt和python flask通过json传递数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

JavaScrip要不要加分号";"

如何在 Python 中的 Moviepy 中使用 fl_image 函数?

django+javascrip的疑问一

AJAX TABLE:如何通过 onclick in 表格上的按钮调用函数? json

python 如何将列表写入文件

JavaScrip笔记心得(持续更新)