webSocket onmessage事件

ws.onmessage = function(evt){
var em = $("#message em");
if(evt.data != 0){
em.css("display","block");
em.text(evt.data);
} else {
em.css("display","none");
}
}
在jsp页面上获取到了数据,也进行了符合条件的操作,但是需要页面重新加载才能显示为新的样式。
请问各位大神,有没有办法像ajax一样不用刷新就可以直接显示出来?

3个回答

通过websocket获得数据,判断数据是否为0,为0就让他显示在em这个控件上并为其设置css 属性 display:block,否则的话就设置
css 属性 display:none,大概是这个意思吧!jsp应该不具有这种数据动态绑定的功能,建议使用angularjs,这种问题就不是问题了,
只要属性改变就自动更新

baidu_26611019
蚂蚁冲锋队 回复Rover丿cxy: 相当于属性设置成功了,但是界面没有响应,找找jsp动态显示方面的东西看看
3 年多之前 回复
q995245021
Rover丿cxy 嗯 jsp上面属性更新了 但是页面不刷新 就不会显示为新样式 ajax就是不刷新可以显示新样式 websocket好像也可以做不刷新的消息提醒 就是不知道怎么做
3 年多之前 回复

刷新页面js设置的值会丢失还原为原始状态。。。你的新样式是什么东东,显示em那个对象?你确认进入if(evt.data != 0){分支没有先

q995245021
Rover丿cxy 就是数据为0就隐藏,不为0就显示。问题为样式改了,但页面不刷新就不会为新样式
3 年多之前 回复

不为0就让他显示在em这个控件上并为其设置css 属性 display:block

q995245021
Rover丿cxy 是的 可以设置,要刷新页面才会为新的样式 不知道有没有即时的写法
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐