页面重新加载后消息消失



我创建了一个socket.io web应用程序,当我点击按钮发送消息时,消息会出现一秒钟,但当页面无故自动刷新时,消息就会消失。如何防止页面刷新,以及如何制作socket.io保存我的消息。

这是服务器代码:

var express = require("express");
var io = require("socket.io")(4000);
var fetch = require("node-fetch");
var express = require("express");
var bodyParser = require("body-parser");
var app = express();
io.on("connection", (socket) => {
socket.on("message", (msg) => {
io.emit("message", msg);
});
});
app.use(bodyParser.urlencoded({ extended: true }));
var stats = [];
app.post("/api", (request, response) => {
var key = "E9BEFD12B99EF8838E61F7A74D9C6A4B";
fetch(
`http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v0002/?appid=730&key=${key}&steamid=${request.body.user}`
)
.then((res) => res.json())
.then((json) => response.send(json) | stats.push(json));
});
app.listen(3000, () => {
console.log("server running");
});

这是客户端代码:

var socket = io("ws://localhost:4000/");
var send = () => {
socket.emit("message", document.getElementById("message").value);
document.getElementById("message").value = " ";
return false;
};
socket.on("message", (msg) => {
document.getElementById("messages").innerHTML = "<p>" + msg + "</p>";
});

每当我按下按钮时,发送功能就会执行。

为了解决这个问题,我刚刚从html文件中删除了表单标记,问题是每次提交表单时,默认情况下都会刷新页面。

最新更新