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 相关文章推荐
类似天猫商品详情随浏览器移动的示例代码
Feb 27 Javascript
JQuery下拉框应用示例介绍
Apr 23 Javascript
bootstrap3 兼容IE8浏览器!
May 02 Javascript
js正则表达式验证密码强度【推荐】
Mar 03 Javascript
基于javascript的异步编程实例详解
Apr 10 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
Dec 25 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
vue mint-ui tabbar变组件使用
May 04 Javascript
vue 实现单选框设置默认选中值
Nov 07 Javascript
js+canvas实现简单扫雷小游戏
Jan 22 Javascript
详解JavaScript作用域 闭包
Jul 29 Javascript
vue开发chrome插件,实现获取界面数据和保存到数据库功能
Dec 01 Vue.js
关于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的一个登录的类 [推荐]
2007/03/16 PHP
ThinkPHP中数据操作案例分析
2015/09/27 PHP
php官方微信接口大全(微信支付、微信红包、微信摇一摇、微信小店)
2015/12/21 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
javascript+xml实现简单图片轮换(只支持IE)
2012/12/23 Javascript
JavaScript中判断对象类型的几种方法总结
2013/11/11 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
vue组件之Alert的实现代码
2017/10/17 Javascript
Vue 让元素抖动/摆动起来的实现代码
2018/05/31 Javascript
基于Vue+element-ui 的Table二次封装的实现
2018/07/20 Javascript
Vue在页面数据渲染完成之后的调用方法
2018/09/11 Javascript
用webpack4开发小程序的实现方法
2019/06/04 Javascript
vue或react项目生产环境去掉console.log的操作
2020/09/02 Javascript
[01:11:46]DOTA2-DPC中国联赛 正赛 iG vs Magma BO3 第一场 2月23日
2021/03/11 DOTA
python通过get,post方式发送http请求和接收http响应的方法
2015/05/26 Python
Python实现对excel文件列表值进行统计的方法
2015/07/25 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
python实现汉诺塔递归算法经典案例
2021/03/01 Python
Python字符串格式化的方法(两种)
2017/09/19 Python
Python 实现微信防撤回功能
2019/04/29 Python
Python FtpLib模块应用操作详解
2019/12/12 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
解决运行django程序出错问题 'str'object has no attribute'_meta'
2020/07/15 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
python 对xml解析的示例
2021/02/27 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
Origins加拿大官网:雅诗兰黛集团高端植物护肤品牌
2017/11/19 全球购物
Tory Burch德国官网:美国时尚生活品牌
2018/01/03 全球购物
SportsDirect.com马来西亚:英国第一体育零售商
2018/11/21 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
英语系本科生个人求职信
2013/09/21 职场文书
招标保密承诺书
2015/01/20 职场文书
2015年汽车销售工作总结
2015/04/07 职场文书