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入门教程(2) JS基础知识
Jan 31 Javascript
使用js显示当前时间示例
Mar 02 Javascript
详解JavaScript中循环控制语句的用法
Jun 03 Javascript
jQuery根据元素值删除数组元素的方法
Jun 24 Javascript
跟我学习javascript的闭包
Nov 16 Javascript
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
Mar 29 Javascript
Angular.JS学习之依赖注入$injector详析
Oct 20 Javascript
js判断一个字符串是以某个字符串开头的简单实例
Dec 27 Javascript
Node.js实现连接mysql数据库功能示例
Sep 15 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
原生js实现trigger方法示例代码
May 22 Javascript
vue-element-admin项目导入和导出的实现
May 21 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模块 Memcached功能多于Memcache
2011/06/14 PHP
php程序的国际化实现方法(利用gettext)
2011/08/14 PHP
PHP OPP机制和模式简介(抽象类、接口和契约式编程)
2014/06/09 PHP
PHP加密解密函数详解
2015/10/28 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
瀑布流布局代码一例
2014/04/11 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
基于jQuery.i18n实现web前端的国际化
2018/05/04 jQuery
Vue动态路由缓存不相互影响的解决办法
2019/02/19 Javascript
跟老齐学Python之数据类型总结
2014/09/24 Python
python简单的函数定义和用法实例
2015/05/07 Python
详解Python迭代和迭代器
2016/03/28 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
2018/04/10 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
python绘制直线的方法
2018/06/30 Python
python 一个figure上显示多个图像的实例
2019/07/08 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
python中数据库like模糊查询方式
2020/03/02 Python
Pycharm中切换pytorch的环境和配置的教程详解
2020/03/13 Python
通过cmd进入python的步骤
2020/06/16 Python
keras实现VGG16 CIFAR10数据集方式
2020/07/07 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
2020/11/26 Python
一款CSS3实现多功能下拉菜单(带分享按)的教程
2014/11/05 HTML / CSS
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
销售人员个人求职信
2013/09/26 职场文书
高中的职业生涯规划书
2013/12/28 职场文书
三分钟英语演讲稿
2014/04/24 职场文书
php随机生成验证码,php随机生成数字,php随机生成数字加字母!
2021/04/01 PHP
用Python提取PDF表格的方法
2021/04/11 Python
redis sentinel监控高可用集群实现的配置步骤
2022/04/01 Redis
JS中forEach()、map()、every()、some()和filter()的用法
2022/05/11 Javascript