El applet de WeChat usa websocket para obtener si el usuario tiene nueva información. Cuando el número de información es cero, se reporta un error. El problema está resuelto.

Conéctese al fondo de Java a través de websocket

wx.onSocketMessage(function (res) {
var objData = JSON.parse(res.data);
      console.log(objData.length);

Obtenga res y conviértalo a json para obtener la longitud de objData para mostrar la cantidad de información de usuario nuevo

El problema es que si no hay datos en res cuando la información es cero, objData no puede convertir los datos res.data a json

La solución es determinar si res.data está vacío antes de convertir res a json

if (res.data != '') {
        var objData = JSON.parse(res.data);
      console.log(objData.length);
        that.globalData.shu = objData.length;
      }
      else{
        that.globalData.shu = 0;
      }

A continuación se muestra el código completo



onLaunch: function () {
    // 获取用户信息
    var that = this;
    var wei = this.lc(function (wei) {
     // console.log(wei);

     // that.setData({ openid: wei.data.openid });
    wx.connectSocket({
      url: "ws://localhost:9090/xcxmvc/so",
    })

    //连接成功
    wx.onSocketOpen(function () {
      console.log("c" +wei.data.openid);
      wx.sendSocketMessage({
        data: wei.data.openid,
      })
    })
    wx.onSocketMessage(function (res) {
      
      if (res.data != '') {
        var objData = JSON.parse(res.data);
      console.log(objData.length);
        that.globalData.shu = objData.length;
      }
      else{
        that.globalData.shu = 0;
      }
    })


    //连接失败
    wx.onSocketError(function () {
      console.log('websocket连接失败!');
    })

    });
  },

Supongo que te gusta

Origin blog.csdn.net/weixin_40938312/article/details/105022958
Recomendado
Clasificación