node.js /socket.io/Chat返回消息不正确?

时间:2016-09-05 14:27:52

标签: node.js heroku socket.io

我遇到的问题如下:

如果我用英语发送信息,则没有问题。

但是如果我用泰语发送消息,则不会显示任何消息,并且消息不正确,例如。输入:'ส'程序显示:'*'。

我在www.heroku.com上部署 github中的代码:https://github.com/KraisornRitthiwong/chat
这段代码:

//app.js
var express = require('express'),
app = express();
var port = process.env.PORT || 3000;
var io = require('socket.io').listen(app.listen(port));
app.set('views', __dirname + '/views');
app.set('view engine', 'jade'); 
app.use(express.static(__dirname + '/public'));
app.get('/', function(req, res) {
    res.render('index');
});

io.on('connection', function(socket) {
    socket.on('chat', function(data) {
        io.emit('chat', data);
    });
});

// index.jade

        var socket = io();
        var chatForm = $('#chat-form');
        var chatHistory = $("#chat-history");
        var inputMessage = $('#chat-message');

        inputMessage.focus();

        var username = Math.floor((Math.random() * 100) + 1);

        socket.emit('chat', {
            username: username, 
            message: 'I\'m connected.'
        });


        chatForm.submit(function() {

            alert(inputMessage.val()); 

            socket.emit('chat', {
                username: username, 
                message: inputMessage.val()
            });

            $(this)[0].reset();
            return false;
        });

        socket.on('chat', function(data) {
            alert(data.message);
            if (data.username == username) {
                chatHistory.append($('<li class="message message--me">').text(data.message));
            } else {
                chatHistory.append($('<li class="message">').text(data.username + ': ' + data.message));
            }
            chatHistory[0].scrollTop = chatHistory[0].scrollHeight;

        });
非常感谢你。

0 个答案:

没有答案