小程序与Spring项目数据交互
上一篇博客刚说了利用Postman来测试Spring Boot项目,测试通过后就可以和小程序进行交互了。
首先要在微信开发者工具里面,点击"详情",勾选上"不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书",不然你是连接不到url滴。
controller代码在上一篇博客里面都有,这里就不贴了。
GET请求获取数据
data: {
list:[]
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
//异步传输,每一刻的对象都不一样
var that=this;
wx.request({
url: 'http://localhost:8080/AllStu',
method:"GET",
data:{},//是否有数据传输到服务器
success:function(res){
//stuList与controller中名字相同
var listData=res.data.stuList;
if(listData!=null){
//list=listData;错误写法
that.setData({
list:listData
})
}
}
})
},
1、为什么要用this和that呢?
因为request操作依赖网络,会造成等待,影响用户体验,因此目前只支持异步模式。
我的理解是,你这一刻发出请求,过个几十毫秒才能收到响应,所以要用that先把此刻的状态保存,然后再将收到的数据赋给js文件里面定义的变量。
2、var listData=res.data.stuList;这一句里面的stuList与controller里面的代码是相呼应的,千万不要写错!
3、为什么不写在onload()里面呢?
onload是页面加载,只会被调用一次;
而onshow是页面显示,每次打开页面都会更新一次,比如插入某个数据后再返回,当前页面就会被更新。
4、简单说一下wxml里面对应的代码
<!--动态表格下半部分开始-->
<scroll-view scroll-y="true">
<view>
<block wx:for="{{list}}">
<view>
<text class='column'>{{item.stuID}}</text>
<text class='column'>{{item.name}}</text>
<text class='column'>{{item.phone}}</text>
<view>
<navigator class='link' url='../updateStu/updateStu?stuID='>编辑</navigator>
<navigator class='link'>删除</navigator>
</view>
</view>
</block>
</view>
</scroll-view>
<!--动态表格下半部分结束-->
wx:for是类似于thymeleaf的写法,{{}}是Vue.js的特性之一,毕竟小程序就是基于Vue.js框架来运行的。
{{list}}表示js里面定义的list变量,当我们使用wx.request(object)将请求到的数据赋给list之后,list里面会拥有很多对象,所以要用wx:for循环将每个对象的属性给取出来。
怎么取呢?下面的{{item.stuID}},item就表示list里面的某个对象,stuID就是该对象的某一个属性,这样巴拉巴拉取出来就对了。
POST请求发送数据
frmSubmit是绑定在某个表单上的函数,提交事件发生时,这个函数就会被执行。
frmSubmit:function(e){
//获取表单数据
var frmData=e.detail.value;
wx.request({
url: 'http://localhost:8080/addStu',
method:"POST",
data:JSON.stringify(frmData),
//数据被转换为JSON格式
//{"name":"123","phone":"123456789"}
header:{"Content-Type":"application/json"},
success:function(res){
wx.showToast({
title: '添加成功!',
duration:5000
})
}
})
}
1、JSON.stringify(para)是将某个对象中转换为JSON字符串,转换后类似于这样:{"name":"123","phone":"123456789"}
与其相对的是JSON.parse(para),会逆向将JSON字符串转换为js的对象。
2、header:{"Content-Type":"application/json"}
这一句就和Postman那里差不多,头里面要规定数据传送方式,这里是以JSON字符串形式传送的。
参考资料:
小程序与Spring项目数据交互的更多相关文章
- 【好好编程-技术博客】微信小程序开发中前后端的交互
微信小程序开发中前后端的交互 微信小程序的开发有点类似与普通网页的开发,但是也不尽然相同.小程序的主要开发语言是JavaScript,开发同普通的网页开发有很大的相似性,对于前端开发者而言,从网页开发 ...
- 微信小程序开发工具的数据,配置,日志等目录在哪儿? 怎么找?
原文地址:http://www.wxapp-union.com/portal.php?mod=view&aid=359 本文由本站halfyawn原创:感谢原创者:如有疑问,请在评论内回复 ...
- 微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布!!!
微信小程序商城开源项目,Weixin-App-Shop 1.0 版本正式发布 Weixin-App-Shop 是捷微团队开发的微信小程序商城开源项目,涵盖了微信商城的全部功能,能够快速发布简单易用的小 ...
- 在微信小程序页面间传递数据总结
在微信小程序页面间传递数据 原文链接:https://www.jianshu.com/p/dae1bac5fc75 在开发微信小程序过程之中,遇到这么一些需要在微信小程序页面之间进行数据的传递的情况, ...
- 微信小程序前台的用户数据入库(后台Laravel)
首先 我们可以看到微信小程序官方 文档 wx.login api-login.jpg 通过此图 我们知道 前台要传 一个 code给后台,后台拿到code 并结合appid和appsecret请求 ...
- 微信小程序“信用卡还款”项目实践
小程序概述 11月3日晚,微信团队对外宣布,微信小程序开放公测.开发者可登陆微信公众平台申请,开发完成后可以提交审核,公测期间暂不能发布. 我们前一段时间也进行了小程序开发,现在来对之前的开发体验做一 ...
- 【Alpha】“北航社团帮”小程序v1.0项目展示
目录 1.团队介绍 2.回答一些工程问题 整个项目的目标和预期功能 整个项目的预期典型用户 整个项目的预期用户数量 alpha满足的用户需求 alpha用户量一览 团队分工及经验教训 团队项目管理 时 ...
- 微信小程序豆瓣电影项目的改造过程经验分享
在学习微信小程序开发过程中,一部分的难点是前端逻辑的处理,也就是对前端JS的代码编辑:一部分的难点是前端界面的设计展示:本篇随笔基于一个豆瓣电影接口的小程序开源项目进行重新调整,把其中遇到的相关难点和 ...
- 详解微信小程序开发(项目从零开始)
一.序 微信小程序,估计大家都不陌生,现在应用场景特别多.今天就系统的介绍一下小程序开发.注意,这里只从项目代码上做解析,不涉及小程序如何申请.打包.发布的东西.(这些跟着微信官方文档的流程走就好). ...
随机推荐
- 【BZOJ2245】[SDOI2011]工作安排 拆边费用流
[BZOJ2245][SDOI2011]工作安排 Description 你的公司接到了一批订单.订单要求你的公司提供n类产品,产品被编号为1~n,其中第i类产品共需要Ci件.公司共有m名员工,员工被 ...
- live555二次开发经验总结:RTSPClient客户端与RTSPServer服务器
live555介绍 安防领域的流媒体开发者估计没有谁不知道live555的,可能并不是因为其架构有多牛,代码有多好看,而是因为这玩意存在的年限实在是太长了,从changelog来看,live555从2 ...
- java的Access restriction错误
问 :import sun.management.ManagementFactory,我在rt包下已经找到sun.management.ManagementFactory,但就是有错,请问怎么回事. ...
- Large-scale Incremental Processing Using Distributed Transactions and Notifications
Large-scale Incremental Processing Using Distributed Transactions and Notifications
- Tomcat学习笔记【2】--- Tomcat安装、环境变量配置、启动和关闭
本文主要讲Tomcat的安装和配置. 一 Tomcat安装 1.1 下载 下载地址:http://tomcat.apache.org/ 1.2 安装 Tomcat是不需要安装的,解压压缩包即可. 在安 ...
- Java AQS详解(转)
原文地址 一.概述 谈到并发,不得不谈ReentrantLock:而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)! 类如其名,抽象的队列式的同 ...
- Understanding JDBC Internals & Timeout Configuration
原版:http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration 中文 ...
- 深入浅出,JS原型链的工作原理
前言:原型链,即原型链条.它是由原型.原型的原型.原型的原型的原型...这一规则组合成的,经常被应用于继承. 原型的作用在JS中,每个对象都有自己的原型.当我们访问对象的属性和方法时,JS会先访问对象 ...
- mvc Bundling 学习记录
因为现在的项目JS引用很多,无意中看到了MVC4的Bundling,开始的时候感觉很不错,将所有的CSS,js文件压缩成一个文件处理,画面调用也很简单 于是,花了一个下午的时候研究了一下,并且通过各种 ...
- ScrollView当显示超出当前页面时自动移动到最底端【转】
本文转载自:http://gundumw100.iteye.com/blog/1162964 卷轴视图(ScrollView)是指当拥有很多内容,一屏显示不完时,需要通过滚动来显示视图.比如在做一个阅 ...