自认为小程序开发基础篇已经“扫”完了,结果今天尝试做小程序带参数二维码功能时尴尬了,瞬间鄙视自己的技术水平。本文虽说探讨的是微信小程序带参数二维码的问题,但更多解决的是HTTP请 ...
自认为小程序开发基础篇已经“扫”完了,结果今天尝试做小程序带参数二维码功能时尴尬了,瞬间鄙视自己的技术水平。本文虽说探讨的是微信小程序带参数二维码的问题,但更多解决的是HTTP请求中Post请求状态下的传参问题。适合不限于小程序开发的java、php、android、ios等初级开发者,高手请绕道,感谢开发者@鲍红星对我的提问。
本文大概
1888
字
读完共需
6
分钟
本节目标:完成带参数的小程序二维码。实现步骤如下:
一、打开API:
二、根据文档提示,跳转到获取access_token界面【https://mp.weixin.qq.com/wiki?id=mp1421140183】关于access_token简单来说是公众号的全局唯一接口调用凭据,公众号调用各接口时都需使用access_token。access_token的存储至少要保留512个字符空间。access_token的有效期目前为2个小时,需定时刷新,重复获取将导致上次获取的access_token失效;他是对企业appid和appsecrect的一种保护,通常交由企业后端带上appid和appsecrect两个参数去请求微信后台得到token,接下来token将成为企业后端、前端、微信后端交互的唯一凭证。获取方法api提示比较清晰:
我是在web开发工具自己去请求的token,也很正常的获取到了。接下来就是比较牛(Dan)逼(Teng)的地方了。
三、根据token和小程序api的提示,获得带参数的二维码,代码如下:
但是,结果让我失望了
反复报错类型为token无效,参数错误之类的信息【微信开发错误请求码链接:https://mp.weixin.qq.com/wiki/17/fa4e1434e57290788bde25603fa2fcbd.html】由于api没有说明是否为get或者post,于是乎我换成get请求,结果依然是token无效。
各种检验参数和请求方法尝试,都无果......
最后大胆尝试了一个从来没有写过的post写法,请看下图:
很荣幸,这种写法我成功请求到了带参数的二维码了!但是有很多不解!
Ok,微信小程序得到带参数的二维码应该用post请求,access_token必须直接跟在url后面【貌似JSSDK开发也是这么个情况】。这是本文的重要结论
问题是解决了,疑问依然存在——对HTTP的get和post请求有误解
之前的认识:
GET方法:使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器,如:?id=12&name="张三"
特点:GET请求能够被缓存;GET请求会保存在浏览器的浏览记录中;以GET请求的URL能够保存为浏览器书签;GET请求有长度限制;GET请求主要用以获取数据