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 相关文章推荐
在IE中调用javascript打开Excel的代码(downmoon原作)
Apr 02 Javascript
javascript实现带节日和农历的日历特效
Feb 01 Javascript
win7下安装配置node.js+express开发环境
Dec 06 Javascript
JS控制页面跳转时未请求要跳转的地址怎么回事
Oct 14 Javascript
基于js实现的限制文本框只可以输入数字
Dec 05 Javascript
Vue 中的compile操作方法
Feb 26 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
使用Easyui实现查询条件的后端传递并自动刷新表格的两种方法
Sep 09 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
解决$store.getters调用不执行的问题
Nov 08 Javascript
微信小程序 自定义弹窗实现过程(附代码)
Dec 05 Javascript
jQuery实现鼠标拖拽登录框移动效果
Sep 13 jQuery
关于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中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
懒就要懒到底——鼠标自动点击(含时间判断)
2007/02/20 Javascript
JavaScript window.setTimeout() 的详细用法
2009/11/04 Javascript
node.js中的fs.rmdirSync方法使用说明
2014/12/16 Javascript
jQuery实现表格行上移下移和置顶的方法
2015/05/22 Javascript
js实现动态加载脚本的方法实例汇总
2015/11/02 Javascript
谈谈Jquery ajax中success和complete有哪些不同点
2015/11/20 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
jQuery实现遍历复选框的方法示例
2017/03/06 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
JavaScript实现简单的树形菜单效果
2017/06/23 Javascript
基于js原生和ajax的get和post方法以及jsonp的原生写法实例
2017/10/16 Javascript
cropper js基于vue的图片裁剪上传功能的实现代码
2018/03/01 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
JS 实现微信扫一扫功能
2018/09/14 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
2018/10/08 Javascript
详解KOA2如何手写中间件(装饰器模式)
2018/10/11 Javascript
详解微信小程序-扫一扫 wx.scanCode() 扫码大变身
2019/04/30 Javascript
Python数据结构之栈、队列的实现代码分享
2017/12/04 Python
Python异常处理知识点总结
2019/02/18 Python
Python requests模块session代码实例
2020/04/14 Python
Python通过zookeeper实现分布式服务代码解析
2020/07/22 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
html5小技巧之通过document.head获取head元素
2014/06/04 HTML / CSS
实习鉴定评语
2014/01/19 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
刑事起诉书范文
2015/05/19 职场文书
2016学习医德医风心得体会
2016/01/25 职场文书
Java 轮询锁使用时遇到问题
2022/05/11 Java/Android
Python如何加载模型并查看网络
2022/07/15 Python
canvas 中如何实现物体的框选
2022/08/05 Javascript