微信小程序与Java后台的通信-保健中心工程师李长富学习记- 副本- 副本

潇洒哥
598次浏览
2020年01月05日 15:29
最佳经验
本文由作者推荐
java后端开发app
我是广州教育保健中心的工程师李长富,初次学习请多多指教
一、写在前面
最近接触了小程序的开发,后端挑选Java,由于小程序的代码运行在腾讯的效劳器上,而我们自己编写的Java代码运行在我们自己布置的效劳器上,所以一开始不是很明白小程序如何与后台进行通讯的,然后查找材料发现结合了官方供给的api后如同和我们一般的web前后端通讯也没有多大的区别,有想法后就写了这个测试程序。
二、API文档
t(OBJECT)
建议网络恳求。运用前请先阅览阐明。
OBJECT参数阐明:
参数名
类型
必填
默认值
阐明
url
String


开发者效劳器接口地址
data
Object/String


恳求的参数
header
Object


设置恳求的 header,header 中不能设置 Referer。
method
String

GET
(需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
dataType
String

json
如果设为json,会测验对回来的数据做一次
success
Function


收到开发者效劳成功回来的回调函数
fail
Function


接口调用失利的回调函数
complete
Function


接口调用完毕的回调函数(调用成功、失利都会履行)
success回来参数阐明:
参数
类型
阐明
最低版别
data
Object/String
开发者效劳器回来的数据

statusCode
Number
开发者效劳器回来的 HTTP 状况码

header
Object
开发者效劳器回来的 HTTP Response Header
1.2.0
data 数据阐明:
终究发送给效劳器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:
l 关于 header['content-type'] 为 application/json 的数据,会对数据进行 JSON 序列化
l 关于 header['content-type'] 为 application/x-www-form-urlencoded 的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
示例代码

t({ url: '', //仅为示例,并非实在的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'application/json' // 默认值 }, success: function(res) { () } })

三、基本思路
将数据通过get方法传到Java servlet类,servlet得到微信小程序的数据打印出来并回来一个数据给微信小程序,从而完成一个最简略的前后端通讯。
四、要害代码
微信小程序代码

test


bindtest: function(){ t({ url: 'http://localhost:8080/Demo01/servlet02', data:{ username:'001', password:'abc' }, method:'GET', header: { 'content-type': 'application/json' // 默认值 }, success:function(res){ (); }, fail:function(res){ (".....fail....."); } }) },

Java serlvet类代码

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub tentType("text/html;charset=utf-8"); /* 设置呼应头允许ajax跨域访问 */ der("Access-Control-Allow-Origin", "*"); /* 星号表明所有的异域恳求都可以承受, */ der("Access-Control-Allow-Methods", "GET,POST"); //获取微信小程序get的参数值并打印 String username = ameter("username"); String password = ameter("password"); n("username="+username+" ,password="+password); //回来值给微信小程序 Writer out = ter(); ("进入后台了"); (); }

五、作用演示
前端控制台

ecplise控制台

至此阐明微信小程序与Java后台通讯成功!当然这是最简略的通讯,比较复杂的是需要对Json数据的处理,今后有时间再总结下。