我如何只用某个用户就能将信息从服务器(index.js)扔到html(index.html)来查看更改?我正在为此使用socketIO。
Index.js:
var ctr = 0;
async.whilst(
function () { return ctr < resp.length },
function (Next) {
var objResp = {};
objResp = om.setKeyValue(objResp, 'fname', resp[ctr].F_NAME);
objResp = om.setKeyValue(objResp, 'lname', resp[ctr].L_NAME);
objResp = om.setKeyValue(objResp, 'address', resp[ctr].U_ADD);
arrVar.push(objResp);
ctr++;
Next();
},
function (err) {
io.sockets.emit('user joined', { output: arrVar });
arrVar = [];
}
);
我希望无论用户是谁,都(通过index.js)操纵html中的数据,但唯一的限制是特定用户(例如“管理员”)只能看到数据,而其他用户则只能看到看到其他页面或什么都不显示。
index.html:
<!DOCTYPE html>
<html>
<head>
<title>SAMPLE</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="http://192.168.1.1:3000/socket.io/socket.io.js"></script>
<link rel="stylesheet" href="/styles.css">
</head>
<body>
<table border=1>
<thead>
<th><center>FIRST NAME</center></th>
<th><center>LAST NAME</center></th>
<th><center>ADDRESS</center></th>
<th></th>
</thead>
<tbody id="online"></tbody>
</table>
<script>
var socket = io.connect('ws://192.168.1.1:3000');
socket.on('user joined', function(data){
var res = "";
for(var ctr = 0; ctr < data.output.length; ctr++){
res += '<tr>';
res += '<td><center>' + (data.output)[ctr].fname + '</center></td>';
res += '<td><center>' + (data.output)[ctr].lname + '</center></td>';
res += '<td><center>' + (data.output)[ctr].address + '</center></td>';
res += '</tr>';
}
$("#online").html(res);
});
</script>
</body>
</html>
每当用户访问服务器(在这种情况下为192.168.1.1:3000)时,数据都会更新。
截至目前,我所遇到的问题是,无论html是否发生更改,无论是否进行管理,每个人都可以看到数据和更改。
预先感谢