Javascript 页面重新加载后消息消失
我创建了一个socket.io web应用程序,当我单击按钮发送消息时,消息会出现一秒钟,但当页面无原因自动刷新时,消息会消失。如何防止页面刷新,以及如何使socket.io保存消息 以下是服务器代码:Javascript 页面重新加载后消息消失,javascript,node.js,socket.io,Javascript,Node.js,Socket.io,我创建了一个socket.io web应用程序,当我单击按钮发送消息时,消息会出现一秒钟,但当页面无原因自动刷新时,消息会消失。如何防止页面刷新,以及如何使socket.io保存消息 以下是服务器代码: var express = require("express"); var io = require("socket.io")(4000); var fetch = require("node-fetch"); var express
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>";
});
var socket=io(“ws://localhost:4000/”;
var send=()=>{
socket.emit(“message”,document.getElementById(“message”).value);
document.getElementById(“消息”).value=“”;
返回false;
};
socket.on(“消息”,(消息)=>{
document.getElementById(“消息”).innerHTML=“”+msg+””;
});
每当我按下一个按钮时,发送函数就会执行。为了解决这个问题,我刚从html文件中删除了表单标记,问题是每次提交表单时,页面都会默认刷新。我猜您按下的按钮是在表单中,它会触发默认操作,因此,重新加载相同的页面,正如@Seblor所说的,您应该发布页面的HTML。这可能就是问题所在。这能回答你的问题吗?(或)@Seblor我从html中删除了表单标签,现在它可以工作了,谢谢mate@DCAdarko你应该把你的答案写下来,以防有人后来通过谷歌找到你的问题