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 相关文章推荐
参考:关于Javascript中实现暂停的几篇文章
Mar 04 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
js实现二代身份证号码验证详解
Nov 20 Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 Javascript
JS如何实现文本框随文本的长度而增长
Jul 30 Javascript
jquery中ajax跨域方法实例分析
Dec 18 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
AngularJS学习笔记(三)数据双向绑定的简单实例
Nov 08 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
Mar 24 jQuery
收集前端面试题之url、href、src
Mar 22 Javascript
p5.js绘制创意自画像
Nov 04 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编程之高级技巧——利用Mysql函数
2006/10/09 PHP
laravel安装zend opcache加速器教程
2015/03/02 PHP
javascript学习笔记(一) 在html中使用javascript
2012/06/18 Javascript
js关于字符长度限制的问题示例探讨
2014/01/24 Javascript
深入理解JavaScript编程中的同步与异步机制
2015/06/24 Javascript
jQuery中的Deferred和promise 的区别
2016/04/03 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
Knockoutjs 学习系列(一)ko初体验
2016/06/07 Javascript
基于jQuery的select下拉框选择触发事件实例分析
2016/11/18 Javascript
基于javascript实现的快速排序
2016/12/02 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
jQuery实现web页面樱花坠落的特效
2017/06/01 jQuery
微信小程序 Buffer缓冲区的详解
2017/07/06 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
微信小程序实现人脸识别
2018/05/25 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
2018/06/26 Javascript
Vue面试题及Vue知识点整理
2018/10/07 Javascript
angular组件间通讯的实现方法示例
2020/05/07 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
简单了解JavaScript作用域
2020/07/31 Javascript
[03:49]显微镜下的DOTA2第十五期—VG登基之路完美团
2014/06/24 DOTA
python打印异常信息的两种实现方式
2019/12/24 Python
Python sql注入 过滤字符串的非法字符实例
2020/04/03 Python
pytorch中 gpu与gpu、gpu与cpu 在load时相互转化操作
2020/05/25 Python
Python执行时间的几种计算方法
2020/07/31 Python
python如何操作mysql
2020/08/17 Python
python遍历路径破解表单的示例
2020/11/21 Python
Rockport乐步美国官网:风靡美国的白宫鞋
2016/11/24 全球购物
英国钻石公司:British Diamond Company
2020/02/16 全球购物
毕业生找工作的自我评价
2013/10/18 职场文书
劳资员岗位职责
2013/11/11 职场文书
纪检干部先进事迹材料
2014/08/23 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
读后感作文评语
2014/12/25 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
GoFrame gredis缓存DoVar Conn连接对象 自动序列化GoFrame gredisDo/DoVar方法Conn连接对象自动序列化/反序列化总结
2022/06/14 Golang