《微信小程序》微信小程序用java后台连接数据库进行操作。
微信小程序与Java后台的通信
一、写在前面
最近接触了小程序的开发,后端选择Java,因为小程序的代码运行在腾讯的服务器上,而我们自己编写的Java代码运行在我们自己部署的服务器上,所以一开始不是很明白小程序如何与后台进行通信的,然后查找资料发现结合了官方提供的api后好像和我们普通的web前后端通信也没有多大的区别,有想法后就写了这个测试程序。
二、API文档
wx.request(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,会尝试对返回的数据做一次 JSON.parse |
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 。转换规则如下:
- 对于
header['content-type']
为application/json
的数据,会对数据进行 JSON 序列化 - 对于
header['content-type']
为application/x-www-form-urlencoded
的数据,会将数据转换成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)
示例代码
wx.request({url: 'test.php', //仅为示例,并非真实的接口地址data: {x: '' ,y: ''},header: {'content-type': 'application/json' // 默认值},success: function(res) {console.log(res.data)}
})
三、基本思路
将数据通过get方式传到Java servlet类,servlet得到微信小程序的数据打印出来并返回一个数据给微信小程序,从而实现一个最简单的前后端通信。
四、关键代码
微信小程序代码
index.wxml
<view><button bindtap='bindtest'>test</button></view>
index.js
bindtest: function(){wx.request({url: 'http://localhost:8080/Demo01/servlet02',data:{username:'001',password:'abc'},method:'GET',header: {'content-type': 'application/json' // 默认值},success:function(res){console.log(res.data);},fail:function(res){console.log(".....fail.....");}})},
Java serlvet类代码
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {// TODO Auto-generated method stubresponse.setContentType("text/html;charset=utf-8"); /* 设置响应头允许ajax跨域访问 */ response.setHeader("Access-Control-Allow-Origin", "*"); /* 星号表示所有的异域请求都可以接受, */ response.setHeader("Access-Control-Allow-Methods", "GET,POST"); //获取微信小程序get的参数值并打印String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username="+username+" ,password="+password);//返回值给微信小程序Writer out = response.getWriter(); out.write("进入后台了");out.flush(); }
五、效果演示
前端控制台
ecplise控制台
至此说明微信小程序与Java后台通信成功!当然这是最简单的通信,比较复杂的是需要对Json数据的处理,以后有时间再总结下。
《微信小程序》微信小程序用java后台连接数据库进行操作。相关推荐
- 小程序数据怎么传输到服务器,微信小程序怎么将数据传输到Java后台
微信小程序怎么将数据传输到Java后台 发布时间:2020-12-10 14:19:49 来源:亿速云 阅读:124 作者:Leah 今天就跟大家聊聊有关微信小程序怎么将数据传输到Java后台,可能很 ...
- 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程)
本篇记录说明 微信小程序获取用户手机号码,Java后台servlet解密(微信小程序调用微信支付也是大致的流程,详细内容可私信交流) (第一次写博客,写得不好的地方见谅,面向新手,大佬请无视,不喜勿喷 ...
- 微信小程序图片上传到java后台
前言 关于云存储的文件上传,我想说的真的挺多的,这是一篇纯原创的基于小程序 或者是SpringBoot的云存储的全过程. 整篇教学很细很细,适合于所有的java学习者,特别是刚刚结束学习java想要练 ...
- 微信小程下载word文档Java后台实现
微信小程序下载文件 开发环境:微信开发者工具+eclipse+Tomcat+Mysql 1.过程描述 微信开发者工具提供接口,访问eclipse中的Java项目地址,在对应的Java项目中从磁盘读取指 ...
- 微信小程序获取手机号,含java后台接口实现
前言 前面写了一篇 java实现微信小程序加密数据解密_女IT玩家-彬彬的博客-CSDN博客 然后接着写微信小程序如何获取手机号,本文既有小程序的实现代码.也有后台java的实现代码哦!! 小程序实现 ...
- java数据库访问方式_纯java方式连接数据库简单操作
package com.beiwo; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Result ...
- 600多个微信小程序源码_点餐系统的开发,java后台+微信小程序 实现完整的餐厅点餐系统。微信扫码点餐小程序源码讲解...
今天来给大家讲解一个完整的微信扫码点餐项目.java后台+微信小程序实现点餐系统. 后台技术选型: JDK8 MySQL(需要5.6以上) Spring-boot Spring-data-jpa Lo ...
- 深入讲解微信小程序上传图片与JAVA后台的结合
背景 微信小程序上传文件是微信小程序提供的API之一,如果用JAVA后台如何来处理上传的文件呢? 官方文档 UploadTask wx.uploadFile(Object object) 将本地资源上 ...
- vue小米商城源代码_微信商城信息管理系统(java后台+小程序)
前一段时间在公众号中发布了一套微信商城信息管理系统(java后台+小程序),也许大家可能都还记得.今天再给大家重复呈现一遍.重新梳理下,方便大家理解这是做什么用的,以便日后使用.开始正题 01 编写目 ...
最新文章
- vs编译器 printf 控制台输出_【语言教程】通过语言了解GCC编译器工作过程
- python线性整数规划求解_实例详解:用Python解决整数规划问题!
- python3下载文件-Python3学习笔记(十八):文件上传和下载
- vue读取终端硬件信息_[提示]在macOS终端上查看硬件信息
- Python 绘制出酷炫的三维图
- 用python编写daemon监控进程并自动恢复(附Shell版)
- Windows编程中各种操作文件的方法
- win11菜单怎么添加快捷方式 Windows11开始菜单添加快捷方式的设置方法
- 用装饰器来进行登录验证
- 从零开始学习Sencha Touch MVC应用之三
- Linux面试题(34道)
- ISO14001环境管理体系认证好处
- ctbs mysql_C/C++/Java
- 常用搜索算法—盲目搜索和启发式搜索
- 各种常用电子元器件的识别方法
- Logo设计技巧和方法
- 关于如何让网站被搜索引擎收录
- linux磁盘配额分区,Linux磁盘配额
- 【毕业设计】大数据工作岗位数据分析与可视化 - python flask
- sphinx php搜索引擎,sphinx 全文搜索引擎
热门文章
- 搞笑的英语翻译,数据集整理
- C#之判断字母大小、字母转ACII码
- Golang 浮点数运算 避免精度损失 Decimal包
- 连锁不平衡:linkage disequilibrium
- 等值连接mysql_数据库等值连接,左连接,右连接的区别
- 芯片ECO的种类和修复方法介绍
- 光猫拨号和软路由拨号失败服务器无响应,光猫拨号好还是无线路由器拨号好(一文解答你的疑惑)...
- html文字自动消失了,为什么从网页上复制的文字到word上一修改后面的字就自动消失了...
- Huggingface Transformers库学习笔记(二):使用Transformers(上)(Using Transformers Part 1)
- 海拥,一枚热爱分享技术与快乐的博主