2016-11-28 39 views
0

我想從html發送簡單消息到node.js控制檯。但數量的工作,字符串和任何字符不工作, 顯示信息是 消息:NaN的socket io不解析字符串和任何字符

var app = require('express')(); 
var http = require('http').Server(app); 
var io = require('socket.io')(http); 
app.get('/', function(req, res){ 
    res.sendFile('sample.html', { 
    root:'/home/deneebo/Documents/apidevelopment/nodejs'}); 
}); 
io.on('connection', function(socket) { 
    socket.on('chat message', function(msg) { 
     console.log('message: ', + msg);}); 
}); 
http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

HTML代碼如下

<!doctype html> 
<html> 
    <head> 
    <title>Socket.IO chat</title> 

    </head> 
    <body> 

    <ul id="messages"></ul> 
    <form action=""> 
     <input id="m" autocomplete="off" /><button>Send</button> 
    </form> 
<script src="/socket.io/socket.io.js"></script> 
<script src="http://code.jquery.com/jquery-1.11.1.js"></script> 
<script> 
    var socket = io(); 
    $('form').submit(function(){ 
    socket.emit('chat message', $('#m').val()); 
    alert($('#m').val()); 
    $('#m').val(''); 

    return false; 
    }); 
</script> 
    </body> 

</html> 
+0

請添加您的html代碼,發送文本到node.js控制檯的腳本部分? –

+0

感謝您的快速評論,這是我的html代碼 –

+0

我沒有改變html中的任何東西...工作正常 – Adiii

回答

1

我想你的代碼,我的本地工作做好

var app = require('express')(); 
var http = require('http').Server(app); 

var io = require('socket.io')(http); 

app.get('/', function(req, res){ 

    res.sendfile('stack.html', {root: __dirname }); 
}); 
io.on('connection', function(socket) { 
    socket.on('chat message', function(msg) { 
     console.log('message: ', msg);}); //Remove + from here 
}); 
http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
}); 

enter image description here

+0

好吧。但這段代碼對我不起作用,你能幫我嗎? –

+0

是的,我在這裏還有什麼問題,你的代碼更新我 – Adiii

+0

數字也工作,但字符串或字符的意思是返回'消息:NaN' –