JavaScript(简称JS)是一种广泛用于网页开发的脚本语言,它可以在浏览器端执行,用于增强网页的交互性。留言板是一个常见的Web应用功能,允许用户在网页上留下信息,这些信息通常会被保存在服务器端,并展示给所有访问该页面的用户。
以下是一个简单的JavaScript留言板的示例,包括前端和后端的代码。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>留言板</title>
<script>
function sendMessage() {
var message = document.getElementById('message').value;
fetch('/submit', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({ message: message })
}).then(response => response.json())
.then(data => {
if (data.success) {
alert('留言成功!');
document.getElementById('message').value = '';
} else {
alert('留言失败,请重试!');
}
});
}
</script>
</head>
<body>
<textarea id="message" placeholder="请输入您的留言"></textarea><br>
<button onclick="sendMessage()">提交留言</button>
<div id="messages"></div>
<script>
// 假设这里有一个函数来获取并显示所有留言
function displayMessages(messages) {
var messagesDiv = document.getElementById('messages');
messagesDiv.innerHTML = '';
messages.forEach(function(msg) {
var p = document.createElement('p');
p.textContent = msg;
messagesDiv.appendChild(p);
});
}
// 假设这里有一个定时器来定期获取新的留言
setInterval(function() {
fetch('/getMessages')
.then(response => response.json())
.then(data => displayMessages(data.messages));
}, 5000);
</script>
</body>
</html>
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
let messages = [];
app.post('/submit', (req, res) => {
const message = req.body.message;
if (message) {
messages.push(message);
res.json({ success: true });
} else {
res.status(400).json({ success: false, message: '留言不能为空' });
}
});
app.get('/getMessages', (req, res) => {
res.json({ messages: messages });
});
app.listen(3000, () => console.log('Server running on port 3000'));
原因:可能是前端JavaScript代码中的fetch请求失败,或者后端没有正确处理POST请求。
解决方法:
原因:可能是定时获取留言的逻辑有问题,或者是服务器响应延迟。
解决方法:
/getMessages
接口是否能够及时返回最新的留言数据。以上就是一个简单的JavaScript留言板的介绍和相关问题的解决方法。在实际开发中,还需要考虑安全性、数据持久化、用户认证等问题。
领取专属 10元无门槛券
手把手带您无忧上云