Flask中获取小程序Request数据的两种方法


Posted in Javascript onMay 12, 2017

Flask中获取小程序Request数据的两种方法

作为后端?哦杂谇岸巳肥祷淠?缟睿?S中的类型Object竟然不能直接通过POST传入到后台Flask中,您会发现获取的是[object Object],这货在Flask中只是个Str,哈哈...

于是,开始寻求解决方案:

方案一,通过GET或者POST传参,将Object转换为Str请求数据:

1.在util.js中定义一个JS函数:

function json2Form(json) {
 var str = [];
 for (var p in json) {
  str.push(encodeURIComponent(p) + "=" + encodeURIComponent(json[p]));
 }
 return str.join("&");
}
module.exports = {
 json2Form: json2Form,
}

2.在相应的页面加载该函数,并进行调用:

var Util = require('../../../utils/util.js')
wx.request({
  url: App.Config.post_Data,//自己的服务接口地址
  method: 'POST',
  header: {
    'content-type': 'application/x-www-form-urlencoded'
},
    data: { postdata:Util.json2Form(params)},//注意这里哈!
  success: function (data) {console.log('已经提交数据到数据库')}
})

当然,这里也可以也可以用你的URl+Util.json2Form(params),然后用GET请求。

3.Flask后台获取数据:

postdata = request.values.get('postdata')

方案二,通过POST传参,将Object转换为Json()格式:

1.小程序直接将请求数据转换为Json格式:

wx.request({
  url: App.Config.post_Data,
  method: 'POST',
  header: {
    'content-type': 'application/x-www-form-urlencoded'
},
    data: { postdata: JSON.stringify(params) },//注意这里哈!
  success: function (data) {console.log('已经提交数据到数据库')}
})

2.Flask后台处理:

postdata = request.values.get('postdata')
print (json.loads(postdata)) # 注意这里哈
postdata=json.loads(postdata)# 注意这里哈,变回DICT格式,亲切ing

好啦,以后能用POST就用它获取数据了,继续Flask开发小程序的进程!!!

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
jquery命令汇总,方便使用jquery的朋友
Jun 26 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
一款jquery特效编写的大度宽屏焦点图切换特效的实例代码
Aug 05 Javascript
jquery自定义函数的多种方法
Jan 09 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
js实现异步循环实现代码
Feb 16 Javascript
微信小程序 标签传入数据
May 08 Javascript
vue使用@scroll监听滚动事件时,@scroll无效问题的解决方法详解
Oct 15 Javascript
javascript 原型与原型链的理解及实例分析
Nov 23 Javascript
d3.js实现图形缩放平移
Dec 19 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
基于javascript处理nginx请求过程详解
Jul 07 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
May 12 #Javascript
微信小程序 支付功能实现PHP实例详解
May 12 #Javascript
深入理解JavaScript继承的多种方式和优缺点
May 12 #Javascript
JS实现图片预加载之无序预加载功能代码
May 12 #Javascript
详解React开发中使用require.ensure()按需加载ES6组件
May 12 #Javascript
vue学习笔记之指令v-text && v-html && v-bind详解
May 12 #Javascript
JS常用正则表达式总结【经典】
May 12 #Javascript
You might like
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php实现源代码加密的方法
2015/07/11 PHP
WordPress网站性能优化指南
2015/11/18 PHP
PHP数组中头部和尾部添加元素的方法(array_unshift,array_push)
2017/04/10 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
Node.js websocket使用socket.io库实现实时聊天室
2017/02/20 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
Vue中添加过渡效果的方法
2017/03/16 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
Vue.js实现的购物车功能详解
2019/01/27 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
tensorflow识别自己手写数字
2018/03/14 Python
python实现一个猜拳游戏
2020/04/05 Python
解决paramiko执行命令超时的问题
2020/04/16 Python
python 绘制场景热力图的示例
2020/09/23 Python
Python实现异步IO的示例
2020/11/05 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
师范生自荐信范文
2013/10/06 职场文书
简历中个人求职的自我评价模板
2013/11/29 职场文书
2015年防汛工作总结
2015/05/15 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
电影建国大业观后感
2015/06/01 职场文书
怎样写好工作计划
2019/04/10 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python
使用Django框架创建项目
2022/06/10 Python