小程序怎样和服务器交互,微信小程序与 Django服务器 数据流 交互通信

Django服务器 解析小程序发送的json二进制字符串

https://blog.csdn.net/qq_25068917/article/details/81041048

http://www.cnblogs.com/Liang-jc/p/9326680.html

小程序 解析Django服务器返回的json二进制字符串(字典)

https://blog.csdn.net/qiushi_1990/article/details/75912945

总结:

django服务端:(获取和返回)

获取post提交的数据2种情况

1 获取post的键值数据:

小程序header 设置为  "Content-Type": "application/x-www-form-urlencoded"

2 获取post的json格式的数据:

小程序header 设置为  "Content-Type": "application/json

详细介绍:http://www.cnblogs.com/zhangdewang/p/9222952.html

1获取客户端数据,是第二种情况:

接受到post的json格式的数据,用json.loads解析json二进制字符串

postBody = request.body

json_result = json.loads(postBody)

name =json_result['name']

2 向客户端返回数据,返回字典格式的数据

dic = {

'name': user.name,

'email': user.email,

'num': user.number

}

return JsonResponse(dic)

注:关于JsonResponse(dic)的详细介绍:

JsonResponse 对象:

class JsonResponse(data, encoder=DjangoJSONEncoder, safe=True, json_dumps_params=None,**kwargs)

这个类是HttpResponse的子类,它主要和父类的区别在于:

1 默认Content-Type 被设置为:application/json

2 data参数:data应该是一个字典类型,

3 safe 参数:true,false

默认参数是True: 传入的data数据类型不是字典类型,就会抛出TypeError异常。

设置为False :data可以填入任何 能被转换为JSON格式的对象,如list, tuple, set

https://www.cnblogs.com/guoyunlong666/p/9099397.html

微信小程序客户端:

1 发送数据时

data{}  header 设置为 "Content-Type": "application/json"

2 接收服务器的返回数据时,

1 js:获取字典res.data.name ,通过dic.name 获取字典的value,

setdata传递给 绑定变量, 传递给wxml,显示

2  js:获取字典res.data,setdata传递给 绑定变量, 再传递给wxml

wxml:通过绑定变量.name 获取字典的value,显示

Django获取数据

request.body:类型和内容

(Json二进制串)

b'{"name":"\xe7\x94\xa8\xe6\x88\xb73","email":"qwew222","num":"321222"}'

json.loads(postBody):

{'name': '用户3', 'email': 'qwew222', 'num': '321222'}

request.body返回bytes类型。

如何获取 请求体中的如下JSON数据

{"name": "fenghua", "age": 24}

方法:获取到的是原始二进制数据,要进行解码

(字符串化,得到json数据)json_dict化(将json数据转换成字典)

本文来自qq_25068917 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_25068917/article/details/81041048?utm_source=copy

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux时间date与timedatectl

date: date是Linux里日期管理命令 UTC 协调世界时,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC GMT 即格林尼治 平太阳时…

2.apache模块mod_rpaf ,让nginx代理后端的apache获取访客真是IP

安装mod_rpaf这个模块 #wget http://stderr.net/apache/rpaf/download/mod_rpaf-0.6.tar.gz(下载不了就在百度上找相应的软件包下载) #tar xvfz mod_rpaf-0.6.tar.gz #cd mod_rpaf-0.6检查有没有httpd-devel这个工具包(如果没有就安装一下,有就直接执行…

Linux切换用户

显示目前用户的名称 logname切换用户 su 用户名当在权限不够的时候可以使用下面的命令执行&#xff0c;执行完会再自动切换到执行前的用户 su -c 要执行的命令 要切换的用户名 su -c ls root提高普通用户的操作权限,权限提升到了root sudo <参数> sudo ls sudo其它参…

oracle 之 基础操作

//删除存在的表空间及数据 drop tablespace TS_YYGL including contents and datafiles若是出现了提示 错误 导致无法全部删除&#xff0c;那么就执行以下语句可以得到那些表有主键相关&#xff0c;再执行就可以 select alter table ||owner||.||table_name|| drop constraint …

object类型转换为Array类型

var obj {a: 1, b: 2, c: 3}; // .... var arr []; for(var key in obj){ if(!obj.hasOwnProperty(key)){continue;}var item {}; item[key] obj[key]; arr.push(item); } console.log(arr); // [{a: 1}, {b: 2}, {c: 3}] // 将Object的属性输出成Array function objOf…

关机重启与who

关机&#xff1a; shutdown命令可以用来进行关闭系统&#xff0c;并且在关机以前传送讯息给所有使用者正在执行的程序&#xff0c;shutdown 也可以用来重开机使用者权限&#xff1a;管理员用户 关机语法 shutdown [-t seconds] [-rkhncfF] time [message]参数说明&#xff1a;…

webpack之font-awesome

1、安装font-awesome和font-awesome-loader及依赖 git&#xff1a;https://github.com/shakacode/font-awesome-loader npm install font-awesome-loader less less-loader css-loader style-loader file-loader font-awesome -save 2、配置webpack 官方给出的webpack2.0配置如…

目录命令及权限

目录命令及权限&#xff1a; 命令说明ls列出目录cd切换目录pwd显示目前的目录mkdir创建新目录rmdir删除一个空的目录cp复制文件或目录rm移除文件或目录mv移动文件与目录或修改文件与目录的名称 ls列出目录&#xff1a; ls # 显示不隐藏的文件和文件夹 ls -l # 显示不隐藏的…

【树莓派】【网摘】树莓派与XBMC及Kodi、LibreELEC插件(三)

之前的相关文章参考&#xff1a; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;一&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;二&#xff09; 【树莓派】树莓派与XBMC及Kodi、LibreELEC插件&#xff08;三&#xff09; ---------------…

前端通信:ajax设计方案(五)--- 集成promise规范,更优雅的书写代码(改迭代已作废,移步迭代10)...

该迭代已作废&#xff0c;最新的请移步这里&#xff1a;https://www.cnblogs.com/GerryOfZhong/p/10726306.html 距离上一篇博客书写&#xff0c;又过去了大概几个月了&#xff0c;这段时间暂时离开了这个行业&#xff0c;让大脑休息一下。一个人旅行&#xff0c;一个人休息&am…

awk怎么用

AWK是一种处理文本文件的语言&#xff0c;是一个强大的文本分析工具。 之所以叫AWK是因为其取了三位创始人 Alfred Aho&#xff0c;Peter Weinberger, 和 Brian Kernighan 的 Family Name 的首字符。 语法如下 awk [选项参数] script varvalue file(s) 或 awk [选项参数] -f…

转盘抽奖

<!DOCTYPE html><html>  <head>   <meta charset"UTF-8">     <title></title>   <style>     .dialWrap { position:absolute; left:50%; top:24px; width:460px; height:460px; margin-left:-246px; } …

Linux软连接

软链接就理解为Windows的快捷方式&#xff0c;因为某些文件和目录的路径很深, 所以需要增加软链接(快捷方式)使用者权限&#xff1a;所有用户 语法&#xff1a; ln -s 目标文件绝对路径 快捷方式路径# 把b.txt的软连接生成到桌面 ln -s aaa/bb/c/b.txt b.txt

设计模式之 - 代理模式(Proxy Pattern)

代理模式&#xff1a;代理是一种常用的设计模式&#xff0c;其目的就是为其他对象提供一个代理以控制对某个对象的访问。代理类负责为委托类预处理消息&#xff0c;过滤消息并转发消息&#xff0c;以及进行消息被委托类执行后的后续处理。很多可以框架中都有用到&#xff0c;比…

Linux压缩命令

gizp&#xff1a; gizp用来压缩/解压缩文件&#xff0c;不能压缩目录&#xff0c;gzip是个使用广泛的压缩程序&#xff0c;文件经它压缩过后&#xff0c;其名称后面会多出".gz"的扩展名windows下接触的压缩文件大多是.rar&#xff0c;.7z格式&#xff0c;Linux下&…

1-3、nav元素

<!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>nav</title> </head> <body><h1>技术资料</h1><nav><ul><li><a href"#">主页</a></li>&…

scala 基础十一 scala 中的trait特质

1.Scala类型系统的基础部分是与Java非常相像的。Scala与Java一样有单一的根类&#xff0c;Java通过接口来实现多重继承&#xff0c;而Scala则通过特征(trait)来实现&#xff08;Scala的特征可以包含实现代码&#xff0c;这当然是与Java接口不同的。不过由于特征自己具有类型的功…

yum命令怎么使用

概念&#xff1a; yum&#xff08; Yellow dog Updater, Modified&#xff09;是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器。yum就像手机里的应用商店一样&#xff0c;提供了查找、安装、删除某一个、一组甚至全部软件包的命令&#xff0c;而且命令简洁而又好记。…

Bluetooth Obex

OPP 1.2 which uses OBEX over L2CAP.OPP 1.1 connection and transfer happens over RFCOMM->L2CAP.转载于:https://www.cnblogs.com/feliz/p/7122327.html

JavaEE规范与系统结构

JavaEE规范&#xff1a; JavaEE规范是J2EE规范的新名称&#xff0c;早期被称为J2EE规范&#xff0c;其全称是Java 2 Platform Enterprise Edition&#xff0c;它是由SUN公司领导、各厂家共同制定并得到广泛认可的工业标准&#xff08;JCP组织成员&#xff09;。之所以改名为Jav…