socket io没有提供所需的输出

时间:2017-11-16 16:31:24

标签: javascript node.js sockets

我创建了一个index.js,它使用套接字加载index.html。 服务器运行成功,并且index.html页面也加载。但不能将书面文字附加在div中。

index.js

var express = require('express'),
    app = express(),
    server = require('http').createServer(app),
    io = require('socket.io').listen(server);

server.listen(3000, function() {
    console.log("SERVER CREATED WITH PORT 3000");
});

app.get('/', function(req, res) {
    res.sendfile(__dirname + '/index.html');
});

io.sockets.on('connection', function(socket) {
    socket.on('send', function(data) {
        io.sockets.emit('new', data);
    });
});

的index.html

<html>

<head>
    <title>chat</title>
    <style>
        #chat {
            height: 500px;
        }
    </style>
</head>

<body>
    <div id="chat"></div>
    <form id="send-message">
        <input id="message" />
        <input type="submit" />
    </form>
    <h1>Working</h1>
    <script src="jquery-3.2.1.min.js"></script>
    <script src="/socket.io/socket.io.js"></script>
    <script>
        jQuery(function($) {
            var socket = io.connect();
            var $messageform = $('#send-message');
            var $messagebox = $('#message');
            var $chat = $('#chat');

            $messageform.submit(function(e) {
                e.preventDefault();
                socket.emit('send', $messagebox.val());
                $messagebox.val('');
            });
            socket.on('new', function(data) {
                $chat.append(data + "<br />");
            });
        });
    </script>
</body>

</html>

这些是我创建并希望将文本发送到所有标签的文件。 当提交被点击时,浏览器只会刷新而不加载文本。

请让我知道我做错了什么。

0 个答案:

没有答案