gpt4 book ai didi

jquery - Socket.io - 无法从客户端向服务器端发送消息

转载 作者:太空宇宙 更新时间:2023-11-03 23:07:02 26 4
gpt4 key购买 nike

我有两个文件 -

  • index.html
  • index.js

index.html中,我有一个文本框。我想将文本框中输入的消息显示到控制台(node.js 的命令提示符)。

enter image description here

index.html中,我写了这个 -

<script>
var socket = io();
$('form').submit(function(){
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
});
</script>

在服务器端,在index.js中我使用了这个 -

socket.on('chat message', function(msg){ //here is the listener to the event
console.log('message: ' + msg);
});

但是,该消息未显示在控制台中。我的代码有什么问题?如果需要,请引用以下文件。

index.js

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

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

io.on('connection', function(socket){
console.log('a user connected');

socket.on('disconnect', function(){
console.log('user disconnected');
});

socket.on('chat message', function(msg){ //here is the listener to the event
console.log('message: ' + msg);
});

});


http.listen(3000, function(){
console.log('listening on *:3000');
});

index.html

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

<script src="https://cdn.socket.io/socket.io-1.2.0.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());
$('#m').val('');
return false;
});
</script>

<body>
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
</body>
</html>

最佳答案

移动<script>在结束 </body> 之前包含 socket.io 代码的 html 文件中的 block 标记,以便仅在正文完成加载后才加载脚本。

关于jquery - Socket.io - 无法从客户端向服务器端发送消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31633470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com