【发布时间】:2019-02-16 16:05:13
【问题描述】:
我正在使用 Node.JS POST 方法将表单提交到我的服务器。它被很好地传输到服务器;在这个阶段没有出现任何问题。但是,当我使用 io.emit 和 socket.io 将数据传输回客户端时,客户端似乎没有发生任何事情。控制台上没有打印任何内容,并且我在那里或在命令提示符(我正在从中运行服务器)中没有收到任何错误。
index.html:
<form id="schoolCreateForm" action="http://localhost:3000/createSchool" method="POST">
School name: <input name="schoolName" type="text"><br><br>
Private?: <input name="schoolPrivate" type="checkbox"><br><br>
Entry password: <input name="entryPassword" type="password"><br><br>
<button type="submit">Submit</button>
</form>
<script>
var socket = io();
socket.on('updateSchool', function(response) {
console.log(response);
document.getElementById("headerSchoolName").innerHTML = data.schoolName;
});
</script>
app.js:
var express = require('express');
var app = express();
var serv = require('http').Server(app);
var io = require('socket.io')(serv);
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());
app.post('/createSchool', function(req, res) {
response = {
school_name: req.body.schoolName,
school_private: req.body.schoolPrivate,
entry_password: req.body.entryPassword
};
console.log(response);
res.sendFile(__dirname + '/client/index.html');
io.emit('updateSchool', response);
});
serv.listen(3000);
console.log("Server started on localhost://3000");
有人知道怎么回事吗?
【问题讨论】:
标签: javascript html node.js express socket.io