script登录表单,数据传向nodejs
时间: 2023-11-25 16:58:39 浏览: 76
【JavaScript源代码】nodejs获取表单数据的三种方法实例.docx
以下是一个简单的登录表单,使用HTML和JavaScript来收集用户输入的数据,然后将数据传递给Node.js服务器。
HTML代码:
```html
<!DOCTYPE html>
<html>
<head>
<title>Login Form</title>
</head>
<body>
<form id="loginForm">
<label for="username">Username:</label>
<input type="text" id="username" name="username" required><br><br>
<label for="password">Password:</label>
<input type="password" id="password" name="password" required><br><br>
<button type="submit">Login</button>
</form>
<script>
const form = document.getElementById('loginForm');
form.addEventListener('submit', async (event) => {
event.preventDefault();
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const data = { username, password };
const response = await fetch('/login', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(data)
});
const result = await response.json();
console.log(result);
});
</script>
</body>
</html>
```
这里的HTML代码包含一个表单,其中包含用户名和密码字段以及一个提交按钮。当用户点击提交按钮时,JavaScript代码将捕获表单提交事件,阻止默认行为,并从表单中获取用户名和密码。然后,它将这些值作为JSON数据发送到服务器的'/login'路径。
Node.js服务器代码:
```javascript
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
app.post('/login', (req, res) => {
const { username, password } = req.body;
// 在这里检查用户名和密码是否有效
// 如果有效,则返回一个JSON响应
// 如果无效,则返回一个错误响应
if (username === 'admin' && password === 'admin') {
res.json({ success: true });
} else {
res.status(401).json({ error: 'Invalid username or password' });
}
});
app.listen(port, () => {
console.log(`Server listening at http://localhost:${port}`);
});
```
这里的Node.js代码使用Express框架来创建一个HTTP服务器。它使用中间件来解析JSON请求正文,并在'/login'路径上创建一个POST路由。当服务器接收到来自客户端的POST请求时,它从请求正文中提取用户名和密码,并检查它们是否有效。如果用户名和密码有效,则服务器将返回一个JSON响应,指示成功登录。如果无效,则服务器将返回一个错误响应,指示无效的用户名或密码。
阅读全文