微信小程序与idea后端如何进行数据交互

交互使用的其实就是调用的**req.get('url')**方法 进行路径访问,你要先保证自己的springboot项目已经成功运行了:

如下:

如何交互的?

微信小程序:如下为++index.js++页面

onLoad()事件 中调用方法Project.findAllCities()

要在当前js页面中先引入project.js 别名Project (++只要写相对路径就行,后缀名.js不写++)

project.js页面代码中定义的findAllCities()方法如下:

javascript 复制代码
import req from '../utils/request'
import qs from '../vendor/qs'
import util from '../utils/util'

export default {
  search: function(cnds){
    console.log("------", cnds)
    return req.get('/projects/page-list?' + util.queryStringify(cnds))
  },
  findAllCities:function(){
    return req.get('/projects/city/findAllCities')
  }
}

该方法就是去调用RequestMapping映射的路径

crud方法格式都一致,你想加方法直接再加一个就行,mapping映射对应上就行


下面来解释如何调用的:

也就是使用req.get()方法

那么req也是引入了request.js文件,定义的别名req

request.js页面代码:

javascript 复制代码
import wxRequest from 'wechat-request';

wxRequest.defaults.baseURL = 'http://localhost:8821'
wxRequest.defaults.headers.post['Content-Type'] = 'application/json';
wxRequest.defaults.headers.put['Content-Type'] = 'application/json';

wxRequest.defaults.headers['token'] = wx.getStorageSync('token');

export default wxRequest

request.js页面引入的wechat-request是

如上node_modules中定义的wechat-request是新建TDesign时导入的

具体看我这篇开发记录:

https://blog.csdn.net/m0_47010003/article/details/132756856https://blog.csdn.net/m0_47010003/article/details/132756856调用的业务逻辑盘完了,

接下来

回到index.js页面的onLoad()方法里面(调用project.js页面代码中定义的findAllCities()方法)

如何循环遍历获取到List<String>类型的数据,并赋值给data中的数组变量?

如上图,获取到的数据,使用setData赋值给cities

使用如下图所示 方法,map()

map()是遍历res.data中的所有数据,

city => {return {value: city, label: city}}

上面的city相当于item的概念,把每个item都设置成key:value的格式,包括value和label


如果springboot项目返回的是List<User>类型的数据

javascript 复制代码
    let self = this
    //城市列表数据从Project归属地中查询
    Project.findAllCities().then((res) => {
      console.log("获取到城市有:" + res.data)
      let cs = res.data.map(city => {
        return {
          value: city,
          label: city
        }
      })
      self.setData({
        cities: cs
      })
    })
    Project.findAllUsers().then((res) => {
      console.log("获取到的user有:" + res.data)
      let rcds = res.data.map((rd) => {
        return {
          value: rd.id,
          label: rd.name
        }
      })
      self.setData({
        users: rcds
      })
    })

都是使用res.data.map()方法

相关推荐
2401_838472515 小时前
C++异常处理最佳实践
开发语言·c++·算法
m0_736919105 小时前
C++中的类型标签分发
开发语言·c++·算法
天桥下的卖艺者5 小时前
使用R语言编写一个生成金字塔图形的函数
开发语言·数据库·r语言
爬山算法5 小时前
Hibernate(78)如何在GraphQL服务中使用Hibernate?
java·hibernate·graphql
2301_790300965 小时前
C++与微服务架构
开发语言·c++·算法
独断万古他化5 小时前
【Spring 核心:AOP】基础到深入:思想、实现方式、切点表达式与自定义注解全梳理
java·spring·spring aop·aop·切面编程
一切尽在,你来5 小时前
C++多线程教程-1.1.4 并发编程的风险(竞态条件、死锁、数据竞争、资源争用)
开发语言·c++
艳阳天_.5 小时前
web 分录科目实现辅助账
开发语言·前端·javascript
梵刹古音5 小时前
【C语言】 循环结构
c语言·开发语言·算法
消失的旧时光-19435 小时前
C++ 函数参数传递方式总结:什么时候用值传递、引用、const 引用?
开发语言·c++