https://www.cnblogs.com/zeroingToOne/p/8987554.html
微信小程序与java后台交互 - zeroingToOne - 博客园
</div><!--end: blogTitle 博客的标题和副标题 -->
<div id="navigator">
随笔 - 116
文章 - 0
</div><!--end: blogStats -->
</div><!--end: navigator 博客导航栏 -->
java后台使用的ssm框架,小程序连接的本地接口。跟正常的web访问没什么区别,也是后台获取url,返回json数据;只是小程序前台请求的url要带上http://localhost:8080
1. 项目结构
2. 配置文件:
Jackson相关包下载 除去里面的js文件
3. test.js和test.wxml
(1) test.js
bindtest:function(){
wx.request({
url:'http://ip:8080/WxProgram/buttonTest2',
data:{
username:'admin',
password:'admin'
},
method:'GET',
header:{
'content-type':'application/json'
},
success:function(res){
console.log(res.data);
},
fail:function(res){
console.log("--------fail--------");
}
})
}
(2) test.wxml
<view>{{name}}</view>
<view>
<button bindtap='bindtest'>test</button>
</view>
4. WxTestController.java
@RequestMapping(value="/buttonTest2")
public void buttonTest(String username, String password, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=utf-8");
/* 设置响应头允许ajax跨域访问 */
response.setHeader("Access-Control-Allow-Origin", "*");
/* 星号表示所有的异域请求都可以接受, */
response.setHeader("Access-Control-Allow-Methods", "GET,POST");
System.out.println(</span>"username="+username+" ,password="+<span style="color: #000000;">password);
</span><span style="color: #008000;">//</span><span style="color: #008000;">返回值给微信小程序</span>
Writer out =<span style="color: #000000;"> response.getWriter();
out.write(</span>"进入后台"<span style="color: #000000;">);
out.flush();
}</span></pre>
运行结果:
小程序前台:
java后台:
开始一直没有连成功,后来百度发现要先设置一下。参考这里
在请求本地接口时,要开启"不校验请求域名、TLS版本及HTTPS证书"选项:设置->项目设置->不校验请求域名、TLS版本及HTTPS证书。因为wx.request的url请求中不能有端口。
远程访问
由于前后台是两个人开发的,需要远程访问。而因为注册的阿里云域名审查时间长,暂时用的花生壳远程连接。方法:下载花生壳客户端,使用免费赠送的域名,这里花了六块钱,忘了哪花的了。
登录花生壳,设置内网穿透->添加映射。内网主机即本机ip地址,cmd,用ipconfig命令查看ipv4地址。如图。
这里遇到一个问题,添加的映射一直没显示,后来通过客服后台操作才显示成功。如图。
添加成功之后,启动Tomcat,之前的内网访问地址http://ip:8080就可以改用对应的外网访问地址来访问了。
花生壳教程:http://service.oray.com/question/2480.html
</div>
<div class = "postDesc">posted @ <span id="post-date">2018-05-03 21:10</span> <a href='https://www.cnblogs.com/zeroingToOne/'>zeroingToOne</a> 阅读(<span id="post_view_count">...</span>) 评论(<span id="post_comment_count">...</span>) <a href ="https://i.cnblogs.com/EditPosts.aspx?postid=8987554" rel="nofollow">编辑</a> <a href="#" onclick="AddToWz(8987554);return false;">收藏</a></div>
</div>
<script type="text/javascript">var allowComments=true,cb_blogId=350884,cb_entryId=8987554,cb_blogApp=currentBlogApp,cb_blogUserGuid='a9b5c7a7-9928-e711-9fc1-ac853d9f53cc',cb_entryCreatedDate='2018/5/3 21:10:00';loadViewCount(cb_entryId);var cb_postType=1;var isMarkdown=false;</script>
</div><!--end: forFlow -->
</div><!--end: mainContent 主体内容容器-->
<div id="sideBar">
<div id="sideBarMain">
<div id="blog-calendar" style="display:none"></div><script type="text/javascript">loadBlogDefaultCalendar();</script>
<div id="leftcontentcontainer">
<div id="blog-sidecolumn"></div><script type="text/javascript">loadBlogSideColumn();</script>
</div>
</div><!--end: sideBarMain -->
</div><!--end: sideBar 侧边栏容器 -->
<div class="clear"></div>
</div><!--end: main -->
<div class="clear"></div>
<div id="footer">
Copyright ©2019 zeroingToOne