小程序之数据对接

作者: guanalex | 来源:发表于2017-12-17 16:15 被阅读39次

前一篇章已经介绍了如何简单去实现一个小程序WXML和WCSS等,实现了基本页面的编辑。然而这些数据都是写死的,即不能随着数据的改变而改变。接下来着篇章将带来的是如何去实现对接服务器端的数据,从而实现数据变换、页面的数据更新等。内容不多,但是也是学习过程中的重要一步。

实现一个服务器接口

要实现与服务器数据对接,首先当然得有个接口先了,对于搭建服务器等,可以根据我之前的篇章一步步走来。实现一个接口简而单之就是实现一个Servlet,也就是doGet()和doPost()方法,然后本篇章用的json数据是通过用java类对象来转换成json数据的,对于转换方法也可以去找我之前的篇章。具体实现我们来看下列代码:

 package wechat;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import net.sf.json.JSONArray;



public class wechatserver extends HttpServlet {

/*
 * 
 */
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
      doPost(request,response);
}

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {
      response.setContentType("text/html;charset=utf-8");
      List<wechatUser> userList = new ArrayList<wechatUser>();
       wechatUser wuser1=new wechatUser(1,"测试小程序","abcdefgh","2017-12-9");
       wechatUser wuser2=new wechatUser(2,"微信","wechatsmalldemo","2017-12-9");
       wechatUser wuser3=new wechatUser(3,"wechat","微信小程序","2017-12-9");
       userList.add(wuser1);
       userList.add(wuser2);
       userList.add(wuser3);
       // 把集合转换成json数据
       JSONArray json=new JSONArray().fromObject(userList);
        String  sjson=json.toString();
        PrintWriter out = response.getWriter();
        out.write(sjson);
        out.flush();

     }
}

这样我们就把接口实现好了,然后我们就可以发布在Tomcat上,就完成了第一步,而这个数据不是从数据库读取的,所以实现起来还是比价简单,后续章节会逐步去完善小程序该有的功能。

小程序端获取数据

对于这一部分,我们还是得看官方发布的文档,官方文档上都会有些示例,如何去使用请求的API,如下图所示,这是网络请求的一个示例。


文档示例

解释一下这段代码wx.request({....})发起请求对象;其中URL为发起请求的接口地址,比如我们刚才实现的接口'http://ip/wechatservlet/wechatserver';data参数也就请求时代的参数;
header开发者服务器返回的 HTTP Response Header;success函数,按照官方文档的说法,当请求成功时,获取的数据将会存在res对象中。当我们拿到数据后如何把数据渲染到视图层呢?小程序提供了一个方法setData()把数据渲染到视图成。具体实现看下列代码:

 onLoad: function (options) {
var that = this;    
//console.log(options.id);
wx.request({
  url: 'http://ip/wechatservlet/wechatserver', //仅为示例,并非真实的接口地址
  data: {  //x,y为请求参数
//    id:options.id
  },
  header: {
    'content-type': 'application/json' // 默认值
  },
  success: function (res) {
    //console.log(res.data);
    that.setData({
      temp: res.data  //把数据传给该请求页面的pages下data下自定义的temp数组对象中去,代换原来写死的数据
    })
  }
})

当我们重启调试时就会发现数据在加载时就已经更新了,如果不行的话,应该是还有一些小细节没有写好,导致数据显示不出来。

相关文章

  • 小程序之数据对接

    前一篇章已经介绍了如何简单去实现一个小程序WXML和WCSS等,实现了基本页面的编辑。然而这些数据都是写死的,即不...

  • java 小程序开发PKCS7Padding 解密数据方法实现

    问题 近日在对接小程序,服务端需要将小程序的用户信息数据保存到数据库,需要对wx.getUserInfo 小程序端...

  • 云开发踩坑

    主要重点介绍小程序云开发步骤、云数据库操作、云函数对接腾讯短信服务 一、云开发步骤 1. 新建云开发小程序 app...

  • 小程序对接流程

    1.注册小程序(a.有企业资质的公众号可以进入公众号免费开通;b.或单独注册https://mp.weixin.q...

  • OkHttp调用微信小程序二维码接口照片是黑屏

    使用OkHttp对接微信小程序接口,获取到小程序返回的二维码照片信息后保存到腾讯云COS进行存储。 对接文档:小程...

  • 淘客基地教你如何推广淘客小程序

    微信小程序对接好淘客基地小程序系统之后,淘客如何利用小程序来做推广呢? 1、淘宝客小程序怎么推广? 1)小程序广告...

  • 宁波医疗小程序对接~

    随着物联网的兴起,催生了越来越多的软件与设备的对接开发需求。随着用户从APP到微信公众号再到微信小程序的迁移,小程...

  • 小程序之数据绑定

    1.使用双大括号将变量包起来; {{ message }} Page({data: {m...

  • 如何利用CRMEB小程序商城做直播带货

    “现在直播这么火,直播带货更是异常火爆,你们的小程序商城可以对接做直播吗?”“小程序商城....”“.....对,...

  • 2021-04-21 小程序发布踩坑

    小程序对接或者发布时都要确认 微信小程序后台设置- 开发设置的服务器域名配置有没有正确配置

网友评论

    本文标题:小程序之数据对接

    本文链接:https://www.haomeiwen.com/subject/cxoywxtx.html