使用express创建服务器 定义两个接口 "/updata” :添加学生成绩 请求方式: post 参数: username,course"/course”:查询成功 请求方式: get 参数: username, password 3.前端(通过ajax请求后端数据) 页面1:添加信息页面 输入账号和成绩,点击添加按钮,添加—个学生成绩 页面2: 输入账号和密码,点击查询,显示成绩
时间: 2023-12-14 21:36:11 浏览: 99
使用express搭建一个简单的查询服务器的方法
好的,下面是使用Express创建服务器的示例代码,包括两个接口和前端页面的实现。
首先,需要安装Express和body-parser模块:
```
npm install express body-parser --save
```
然后,在项目的根目录下创建一个名为app.js的文件,并添加以下代码:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
// 使用body-parser中间件解析请求体
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
// 添加学生成绩接口
app.post('/update', (req, res) => {
const { username, course } = req.body;
// 将学生成绩添加到数据库或文件中
// ...
res.send('添加成功');
});
// 查询成绩接口
app.get('/course', (req, res) => {
const { username, password } = req.query;
// 查询数据库或文件中对应账号和密码的成绩信息
// ...
res.send(score);
});
// 静态文件服务器
app.use(express.static('public'));
// 监听端口
app.listen(3000, () => console.log('Server is running on port 3000'));
```
在上面的代码中,我们使用了body-parser中间件来解析请求体,使得可以在请求中获取到提交的参数。然后分别定义了添加学生成绩和查询成绩的接口,接口路径分别为`/update`和`/course`,并在接口中处理相应的逻辑。最后,我们使用`express.static`方法将public目录作为静态文件服务器,用于提供前端页面的访问。
接下来,我们在项目的根目录下创建一个名为public的目录,并在该目录下创建两个HTML文件,分别为add.html和query.html。add.html用于添加学生成绩,query.html用于查询成绩。我们也可以在public目录下创建一个名为js的目录,并在该目录下创建一个名为index.js的脚本文件,用于调用后端接口。add.html和query.html的代码如下所示:
add.html
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>添加成绩</title>
</head>
<body>
<form>
<label>账号:</label>
<input type="text" id="username">
<br>
<label>成绩:</label>
<input type="text" id="course">
<br>
<button type="button" onclick="addScore()">添加</button>
</form>
<script src="js/index.js"></script>
</body>
</html>
```
query.html
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>查询成绩</title>
</head>
<body>
<form>
<label>账号:</label>
<input type="text" id="username">
<br>
<label>密码:</label>
<input type="password" id="password">
<br>
<button type="button" onclick="queryScore()">查询</button>
</form>
<div id="result"></div>
<script src="js/index.js"></script>
</body>
</html>
```
在上面的代码中,我们在表单中添加了账号和密码的输入框,并使用`onclick`事件调用了名为`addScore`和`queryScore`的函数,这两个函数将在index.js文件中实现。同时,在query.html中添加了一个id为result的`div`标签,用于显示查询结果。
最后,我们在public/js目录下创建一个名为index.js的脚本文件,并添加以下代码:
```javascript
// 添加成绩
function addScore() {
const username = document.getElementById('username').value;
const course = document.getElementById('course').value;
const xhr = new XMLHttpRequest();
xhr.open('POST', '/update');
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
alert(xhr.responseText);
}
};
xhr.send(`username=${username}&course=${course}`);
}
// 查询成绩
function queryScore() {
const username = document.getElementById('username').value;
const password = document.getElementById('password').value;
const xhr = new XMLHttpRequest();
xhr.open('GET', `/course?username=${username}&password=${password}`);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
document.getElementById('result').innerText = xhr.responseText;
}
};
xhr.send();
}
```
在上面的代码中,我们编写了两个函数`addScore`和`queryScore`,分别用于添加成绩和查询成绩。这两个函数都使用了XMLHttpRequest对象向后端发送请求,并在请求完成后处理响应。`addScore`函数使用POST方法向`/update`接口提交账号和成绩参数,`queryScore`函数使用GET方法向`/course`接口提交账号和密码参数,并在查询完成后将结果显示在id为result的`div`标签中。
现在,我们可以在命令行中运行`node app.js`启动服务器,并在浏览器中访问http://localhost:3000/add.html和http://localhost:3000/query.html来访问前端页面。当在add.html页面中添加学生成绩时,后端会收到POST请求并将学生成绩保存到数据库或文件中;当在query.html页面中查询成绩时,后端会收到GET请求并根据账号和密码在数据库或文件中查询对应的成绩信息,并将结果返回给前端页面。
阅读全文