急急忙忙尝试了2天,发现问题始终解决不掉
问题:通过微信小程序实现post
(后端是python flask
flask的post函数)
解决方案:凭我的经验猜测 只传输一个值 data ,然后里面包含字典形式的三个元素
{"kind":"",
"acc":"",
"donor":""}
为了转换在小程序上post我费了些时间
我感觉上述没有问题,但是不知道为什么就是通不过一直 500
下面是微信小程序的客户端post的
结果:
我猜测还是我post的数据格式不对,
相应200的 正确格式
最终解决方案:
采用
在前后端交互的过程中难免会出现需要我们将字符串转成json的时候。
json.stringify()方法是将一个JavaScript值(对象或者数组)转换为一个 JSON字符串
json.parse() 方法将数据转换为 JavaScript 对象( 将字符串转成json对象。 )
强烈安利JavaScript 教程
http://www.w3school.com.cn/json/json_eval.asp
后记:
再传post值的过程中
应先抓包分析一下对应的 post为和值,或者直接利用开发者工具箱直接network 拉到最后直接分析
通过content-type 得到传参方式 最下方仅为post的数据,我没农商
一般来说传参方式分为
application/json multipart/form-data application/x-www-form-urlencoded
为什么会有这么多传参方式,就是因为他的编码方式,协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。 数据发送出去,还要服务端解析成功才有意义。一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能。
服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。
所以说到 POST 提交数据方案,包含了 Content-Type 和消息主体编码方式两部分。
我觉得这篇可以配合我上几篇来写作就非常好了,
其实我觉得 不管后端是啥样的,只要配合最后传参的形式,在前端js修改为合适的就可以正藏运行了