Flask中向前端传递或者接收Json文件的方法

时间:2021-01-27 09:50:15

1. 利用flask的request.form.get()方法

这一中方法主要利用flask的request.form.get方法,获得前端发送给后台的json文件

Python 端代码:

@app.route('/sendjson', methods=['POST'])
def sendjson(): # 接受前端发来的数据
data = json.loads(request.form.get('data')) # lesson: "Operation System"
# score: 100
lesson = data["lesson"]
score = data["score"] # 自己在本地组装成Json格式,用到了flask的jsonify方法
info = dict()
info['name'] = "pengshuang"
info['lesson'] = lesson
info['score'] = score
return jsonify(info)

JS代码:

<script>
$(document).ready(function () {
var data = {
data: JSON.stringify({"lesson": "Operation System", "score": 100})
}
$.ajax({
url:"/sendjson",
type: 'POST',
data: data,
success: function (msg) {
alert(msg.name)
}
})
});
</script>

2. 利用flask的request.get_data()方法

Python端代码:

@app.route('/sendjson2',methods=['POST'])
def sendjson2(): # 接收前端发来的数据,转化为Json格式,我个人理解就是Python里面的字典格式
data = json.loads(request.get_data()) # 然后在本地对数据进行处理,再返回给前端
name = data["name"]
age = data["age"]
location = data["location"]
data["time"] = "2016" # Output: {u'age': 23, u'name': u'Peng Shuang', u'location': u'China'}
# print data
return jsonify(data)

相比第一种方法JS的代码,这一种更常见也更容易理解一些,在前端组织好Json,再传递给后台

JS代码:

 
 <script>
$(document).ready(function () {
var student = new Object();
student.name = "Peng Shuang";
student.age = 23;
student.location = "China";
var data = JSON.stringify(student) $.ajax({
url: "/sendjson2",
type: "POST",
data: data,
success: function (msg) {
alert(msg.time)
}
})
})
</script>

Flask中向前端传递或者接收Json文件的方法的更多相关文章

  1. 在asp&period;net 中应用POST传递和接收XML文件以及参数&period;&lpar;转&rpar;

    使用POST方式可以向别的页面发送请求,并获取返回结果. 可以从一个页面发送POST到另一个页面,也可以在winform工程中使用HTTPRequest发送POST到一个页面.我们拿ASP.NET的a ...

  2. ThinkPHP中使用ajax接收json数据的方法

    本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先 ...

  3. easyui 加载本地json 文件的方法

    easyui 加载本地json 文件的方法 2017年12月15日 17:18:07 vivian_hnd 阅读数 2155 https://blog.csdn.net/vivian_wang07/a ...

  4. iOS之在webView中引入本地html&comma;image&comma;js&comma;css文件的方法 - sky&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;&sol;ZZZZZZZZZZZZZZZ

    iOS之在webView中引入本地html,image,js,css文件的方法   2014-12-08 20:00:16CSDN-sky_2016-点击数:10292     项目需求 最近开发的项 ...

  5. C&num;中常用的几种读取XML文件的方法

    1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/

  6. Java解析JSON文件的方法

    http://blog.sina.com.cn/s/blog_628cc2b70101dydc.html java读取文件的方法 http://www.cnblogs.com/lovebread/ar ...

  7. 基于Flask开发网站 -- 前端Ajax异步上传文件到后台

    大家好,我是辰哥~ 辰哥最近利用空闲时间在写一个在线可视化平台,过程中也觉得一些技术还是比较有意思的,所以就以模块化的形式分享出来.如:从网页界面(前端)上传文件到服务器(后端). 放一下该模块的界面 ...

  8. flask中下载服务器上特定路径的文件

    使用flask下载服务器上某个路径下的文件 path:文件路径以及需要下载的文件,直接写入参数有安全隐患,实际应用中需要判断权限之类的 from flask import send_file, mak ...

  9. 把CSV文件中的labels标签提取为json文件

    需求: validationImages.csv文件是存储验证集数据名称和类别信息(labels)的文件, 要生成一个label和类别名一一对应且正序排列的json文件,代码如下: labels_di ...

随机推荐

  1. MapReduce剖析笔记之四:TaskTracker通过心跳机制获取任务的流程

    上一节分析到了JobTracker把作业从队列里取出来并进行了初始化,所谓的初始化,主要是获取了Map.Reduce任务的数量,并统计了哪些DataNode所在的服务器可以处理哪些Split等等,将这 ...

  2. 转:学习笔记:delphi多线程学识

    学习笔记:delphi多线程知识 最近一直在温习旧的知识,刚好学习了一下Java的线程安全方面的知识,今天想起之前一直做的Delphi开发,所以还是有必要温习一下,看看这些不同的编程语言有什么不同之处 ...

  3. css 一些灵动性的小方法

    CSS: 1.当鼠标放到一个图片上的时候,他会给你显示一些图片的信息或者是一些其他的信息. <!DOCTYPE html> <html lang="en"> ...

  4. 【Moqui业务逻辑翻译系列】Story of Online Retail Company 在线零售公司的故事

    h1. Story of Online Retail Company 在线零售公司的故事 Someone decides to sell a product. [Product Marketer Ma ...

  5. vim中选择匹配文本删除技巧

    试举几例如下: 如何只保留匹配内容行而删除其他行? :v/pattern/d :help :v 如何对每行只保留匹配内容而删除这一行中的其它内容 :%s/^.pattern.$/\1/g 删除包含特定 ...

  6. 开源ceph管理平台inkscope部署手册

    一.前情提要 关于inkscope就不做过多介绍了,就是ceph的一个开源管理控制平台,跟ceph官方的calamary以及intel的VSM差不多一类,只是各自侧重点不一样. 相对而言,因为inks ...

  7. 关于DLL搜索路径顺序的一个问题

    DLL的动态链接有两种方法.一种是加载时动态链接(Load_time dynamic linking).Windows搜索要装入的DLL时,按以下顺序:应用程序所在目录→当前目录→Windows SY ...

  8. C&plus;&plus;拷贝构造函数与 &equals; 重载

    调用拷贝构造函数进行初始化的时候,是不会调用=重载的. // test.cpp : 定义控制台应用程序的入口点. // //#include "stdafx.h" #include ...

  9. Mysql计算并保留两位小数

    如:123456.789 转成 123456.79 自动,));

  10. Jmeter(三十五)聚合报告

    Jmeter的聚合报告是一个非常nice的listener,接口测试以及性能测试方面都会用到这个nice的监听器. 那么优秀在什么地方呢?上图 日常工作中可能只关注这部分内容: 可是这里边的指标真的都 ...