websocketを介してjavaバックグラウンドに接続します
wx.onSocketMessage(function (res) {
var objData = JSON.parse(res.data);
console.log(objData.length);
resを取得し、jsonに変換して、objDataの長さを取得し、新しいユーザー情報の量を表示します
問題は、情報がゼロのときにresにデータがない場合、objDataはres.dataデータをjsonに変換できないことです。
解決策は、resをjsonに変換する前に、res.dataが空かどうかを判断することです。
if (res.data != '') {
var objData = JSON.parse(res.data);
console.log(objData.length);
that.globalData.shu = objData.length;
}
else{
that.globalData.shu = 0;
}
以下は完全なコードです
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连接失败!');
})
});
},