风险套接字请求日志未定义
不是一个真正的问题,但有点困扰我; 启动我的应用程序后,所有的套接字请求(例如/api/articles/subscribe
)日志undefined
到控制台,如下所示:
GET /api/articles 200 180.463 ms - 27767 GET /api/articles/subscribe undefined - ms - -
第一个请求是HTTP,第二个是套接字。
为什么是这个,我该如何解决这个问题?
编辑我的路线:
'get /api/articles': 'ArticlesController.index', '/api/articles/subscribe': 'ArticlesController.subscribe',
我正在使用GET路由( GET /api/articles
)以JSON格式获取我的所有文章。 在查看文章时,我通过订阅特定的房间
io.socket.get('/api/articles/subscribe', function(data, jwt) { ...
订阅方法本身
subscribe: function(req, res) { if(typeof req.user !== 'undefined') { sails.sockets.join(req.socket, 'articles'); return res.ok(); } }
订阅的作品很好,但总是有这个GET /api/articles/subscribe undefined - ms - -
在我的控制台里。
你有没有尝试过以下任何一种?
这是当你使用Get请求(例如http://www.url.com/?user=randomusername )
subscribe: function(req, res) { var user = req.param("user"); if(user !== undefined) { sails.sockets.join(req.socket, 'articles'); return res.ok(); } return res.badRequest(); }
这是当你使用Post请求(例如,如果你发送JSON或类似的)
subscribe: function(req, res) { if(req.body !== undefined && req.body.user !== undefined) { sails.sockets.join(req.socket, 'articles'); return res.ok(); } return res.badRequest(); }
或者你需要像这样使用(根据Sails参考 )
subscribe: function(req, res) { if (!req.isSocket) { return res.badRequest(); } var room = req.param('user'); sails.sockets.join(req, room, function(err) { if (err) { return res.serverError(err); } return res.json({ message: 'Subscribed to a room called '+ room +'!' }); }); }