鱼C论坛

 找回密码
 立即注册
查看: 520|回复: 3

[已解决]留言板

[复制链接]
发表于 2023-6-17 23:06:45 | 显示全部楼层 |阅读模式
10鱼币
谁可以给我留言板代码?包括前后端,我可以花10鱼币买
最佳答案
2023-6-17 23:06:46
本帖最后由 歌者文明清理员 于 2023-6-17 23:13 编辑

留言板通常需要前端和后端两个部分的代码,下面是一个简单的留言板实现代码示例:

前端代码(HTML/CSS/JavaScript):

html
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <title>留言板</title>
  5.   </head>
  6.   <body>
  7.     <h1>留言板</h1>
  8.     <form>
  9.       <label for="name">姓名:</label>
  10.       <input type="text" id="name" name="name"><br><br>
  11.       <label for="message">留言:</label><br>
  12.       <textarea id="message" name="message"></textarea><br><br>
  13.       <button type="submit" onclick="submitForm()">提交</button>
  14.     </form>

  15.     <h2>留言列表</h2>
  16.     <ul id="messageList"></ul>

  17.     <script>
  18.       function submitForm() {
  19.         const name = document.getElementById("name").value;
  20.         const message = document.getElementById("message").value;

  21.         fetch("/messages", {
  22.           method: "POST",
  23.           headers: { "Content-Type": "application/json" },
  24.           body: JSON.stringify({ name, message }),
  25.         })
  26.           .then((response) => response.json())
  27.           .then((data) => {
  28.             const messageList = document.getElementById("messageList");
  29.             const newMessage = document.createElement("li");
  30.             newMessage.innerText = `${data.name}: ${data.message}`;
  31.             messageList.appendChild(newMessage);
  32.           });

  33.         // 清空表单
  34.         document.getElementById("name").value = "";
  35.         document.getElementById("message").value = "";
  36.       }

  37.       // 页面加载时获取留言列表
  38.       window.addEventListener("load", () => {
  39.         fetch("/messages")
  40.           .then((response) => response.json())
  41.           .then((data) => {
  42.             const messageList = document.getElementById("messageList");
  43.             data.forEach((message) => {
  44.               const li = document.createElement("li");
  45.               li.innerText = `${message.name}: ${message.message}`;
  46.               messageList.appendChild(li);
  47.             });
  48.           });
  49.       });
  50.     </script>
  51.   </body>
  52. </html>
复制代码

后端代码(Node.js/Express):

javascript
  1. const express = require("express");
  2. const bodyParser = require("body-parser");

  3. const app = express();
  4. app.use(bodyParser.json());

  5. // 模拟留言数据
  6. let messages = [
  7.   { name: "张三", message: "你好啊" },
  8.   { name: "李四", message: "这个留言板不错" },
  9. ];

  10. // 获取留言列表
  11. app.get("/messages", (req, res) => {
  12.   res.send(messages);
  13. });

  14. // 提交留言
  15. app.post("/messages", (req, res) => {
  16.   const { name, message } = req.body;
  17.   messages.push({ name, message });
  18.   res.send({ name, message });
  19. });
复制代码


app.listen(3000, () => console.log("留言板已启动,访问 http://localhost:3000"));
这个示例使用了 Express 框架和 fetch 函数进行前后端通信。你可以根据自己的需求修改代码。

最佳答案

查看完整内容

留言板通常需要前端和后端两个部分的代码,下面是一个简单的留言板实现代码示例: 前端代码(HTML/CSS/JavaScript): html 后端代码(Node.js/Express): javascript app.listen(3000, () => console.log("留言板已启动,访问 http://localhost:3000")); 这个示例使用了 Express 框架和 fetch 函数进行前后端通信。你可以根据自己的需求修改代码。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-17 23:06:46 | 显示全部楼层    本楼为最佳答案   
本帖最后由 歌者文明清理员 于 2023-6-17 23:13 编辑

留言板通常需要前端和后端两个部分的代码,下面是一个简单的留言板实现代码示例:

前端代码(HTML/CSS/JavaScript):

html
  1. <!DOCTYPE html>
  2. <html>
  3.   <head>
  4.     <title>留言板</title>
  5.   </head>
  6.   <body>
  7.     <h1>留言板</h1>
  8.     <form>
  9.       <label for="name">姓名:</label>
  10.       <input type="text" id="name" name="name"><br><br>
  11.       <label for="message">留言:</label><br>
  12.       <textarea id="message" name="message"></textarea><br><br>
  13.       <button type="submit" onclick="submitForm()">提交</button>
  14.     </form>

  15.     <h2>留言列表</h2>
  16.     <ul id="messageList"></ul>

  17.     <script>
  18.       function submitForm() {
  19.         const name = document.getElementById("name").value;
  20.         const message = document.getElementById("message").value;

  21.         fetch("/messages", {
  22.           method: "POST",
  23.           headers: { "Content-Type": "application/json" },
  24.           body: JSON.stringify({ name, message }),
  25.         })
  26.           .then((response) => response.json())
  27.           .then((data) => {
  28.             const messageList = document.getElementById("messageList");
  29.             const newMessage = document.createElement("li");
  30.             newMessage.innerText = `${data.name}: ${data.message}`;
  31.             messageList.appendChild(newMessage);
  32.           });

  33.         // 清空表单
  34.         document.getElementById("name").value = "";
  35.         document.getElementById("message").value = "";
  36.       }

  37.       // 页面加载时获取留言列表
  38.       window.addEventListener("load", () => {
  39.         fetch("/messages")
  40.           .then((response) => response.json())
  41.           .then((data) => {
  42.             const messageList = document.getElementById("messageList");
  43.             data.forEach((message) => {
  44.               const li = document.createElement("li");
  45.               li.innerText = `${message.name}: ${message.message}`;
  46.               messageList.appendChild(li);
  47.             });
  48.           });
  49.       });
  50.     </script>
  51.   </body>
  52. </html>
复制代码

后端代码(Node.js/Express):

javascript
  1. const express = require("express");
  2. const bodyParser = require("body-parser");

  3. const app = express();
  4. app.use(bodyParser.json());

  5. // 模拟留言数据
  6. let messages = [
  7.   { name: "张三", message: "你好啊" },
  8.   { name: "李四", message: "这个留言板不错" },
  9. ];

  10. // 获取留言列表
  11. app.get("/messages", (req, res) => {
  12.   res.send(messages);
  13. });

  14. // 提交留言
  15. app.post("/messages", (req, res) => {
  16.   const { name, message } = req.body;
  17.   messages.push({ name, message });
  18.   res.send({ name, message });
  19. });
复制代码


app.listen(3000, () => console.log("留言板已启动,访问 http://localhost:3000"));
这个示例使用了 Express 框架和 fetch 函数进行前后端通信。你可以根据自己的需求修改代码。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
琅琊王朝 + 1 + 1 感谢大佬的分享!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-6-18 09:09:48 | 显示全部楼层
歌者文明清理员 发表于 2023-6-17 23:06
留言板通常需要前端和后端两个部分的代码,下面是一个简单的留言板实现代码示例:

前端代码(HTML/CSS/J ...

额,那后端代码怎么用
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-6-18 10:25:22 | 显示全部楼层
琅琊王朝 发表于 2023-6-18 09:09
额,那后端代码怎么用

你需要按照以下步骤来运行后端代码:

  • 安装 Node.js
    如果你还没有安装 Node.js,请前往 https://nodejs.org/zh-cn/ 下载并安装。
  • 创建项目目录
    在你想要放置留言板代码的位置创建一个新目录,例如 guestbook。
  • 复制后端代码
    将我之前给你的后端代码复制到项目目录下,命名为 index.js。
  • 安装依赖
    打开命令行,进入项目目录,使用以下命令安装依赖:

    1. npm install express body-parser
    复制代码

    这会安装 Express 和 body-parser 两个依赖。
  • 启动服务

使用以下命令启动服务:

  1. node index.js
复制代码

这将启动一个服务器,并输出以下信息:

  1. 留言板已启动,访问 http://localhost:3000
复制代码

现在你可以打开浏览器,在地址栏输入 http://localhost:3000 进入留言板页面了。

注意:如果你需要更改端口号,请修改 app.listen(3000, ...) 中的数字。

评分

参与人数 1荣誉 +1 鱼币 +1 收起 理由
琅琊王朝 + 1 + 1 感谢楼主无私奉献!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-5 11:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表