我正在试图弄清楚如何从node.js + socket.io app的前端访问数据。使用“heroku logs --tail”(实时日志记录),在输入内容并点击提交后,我得到了即时响应:
debug: xhr-polling received data packet 5:::{"name":"data","args":[{"hash":"<whatever I put in the input"}]}
但是我无法访问它来记录它。下面的console.log行从未执行过。
后端服务器继承人.js
app.get('/', function(req, res){
res.render('index.ejs', {
layout:false,
locals: {
someVariable: "blah"
}
});
// Get Form Data
io.sockets.on('data', function(data) {
console.log("heres the hash " + data.hash);
});
这是我的前端
<form>
<span class="label">#</span><input type="text" name="hashtag" id="hashtag" placeholder="hashtag">
<input type="submit" id="submit" value="Roll em in!">
</form>
<script>
var socket = io.connect();
$('#submit').on('click', function(event) {
event.preventDefault();
alert('clicked!');
socket.emit('data', {
hash: $('#hashtag').val()
});
});
</script>
答案 0 :(得分:0)
这样做怎么样:
io.sockets.on('connection', function(socket) {
socket.on('data', function(data){
console.log("heres the hash " + data.hash);
});
});