【发布时间】:2017-11-18 00:21:22
【问题描述】:
目前我正在使用 node.js 和 socket.io 做一个项目。
如果想知道是否有任何方法可以自动验证客户端发送到服务器的数据。我不想对要在正在进行的函数中使用的每个变量使用if (!...) return; 来验证数据。
例如,我在 server.js
上有以下代码socket.on('haveData', function(data) {
db.query('SELECT * FROM user WHERE userid = ? LIMIT 1', [data.userid], function(errData, results, fields) {
if (!errData && results.length) {
...
}
});
});
但是现在,如果我在浏览器的控制台中输入socket.emit('haveData');,socket.io 服务器就会崩溃——当然,没有数据发出
TypeError: Cannot read property 'userid' of undefined
【问题讨论】:
-
要么在发送之前检查客户端数据,要么检查服务器中接收到的数据。这里没有其他选择,但你肯定会有
if (!...)
标签: javascript node.js validation sockets socket.io