npm init -y
Express是一个简洁、灵活且易于使用的Web应用程序框架,非常适合构建各种规模的Web应用程序和API。(**注意:**在新版本的Express中,某些功能已经被弃用或更改。因此,建议查阅官方文档(https://expressjs.com/)以获取最新的使用方法和API参考。)
npm install express
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, World!');
});
这个示例中的路由是根路径(/),当客户端发起GET请求时,将返回Hello, World!作为响应。
app.listen(3000, () => {
console.log('服务器已启动,监听端口3000');
});
CORS(跨来源资源共享)是一种解决跨域访问的机制,允许在一个域中的Web应用程序向另一个域的服务器发送AJAX请求。
npm install cors
const cors = require('cors');
app.use(cors());
这里使用了默认的cors配置,将允许所有来源的跨域请求。你也可以根据需要进行自定义配置,例如指定允许的来源、允许的HTTP方法等。
app.get('/data', (req, res) => {
res.header('Access-Control-Allow-Origin', 'http://example.com');
res.header('Access-Control-Allow-Methods', 'GET, POST');
res.header('Access-Control-Allow-Headers', 'Content-Type');
// 执行操作,例如返回数据给客户端
res.json({
message: '数据获取成功',
data: {
// 数据内容
}
});
});
body-parser是一个Node.js中间件,用于解析HTTP请求的请求体,以便从POST、PUT和PATCH等请求中获取请求参数。它将请求体解析为JavaScript对象,以便在处理程序中使用。
npm install body-parser
const bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
这里使用了两个body-parser的中间件:urlencoded和json。urlencoded用于解析application/x-www-form-urlencoded格式的请求体,而json用于解析application/json格式的请求体。
app.post('/users', (req, res) => {
const { name, email } = req.body;
// 执行操作,例如将用户数据保存到数据库
res.json({
message: '用户创建成功',
user: {
name,
email
}
});
});
npm install mysql
const mysql = require('mysql');
const connection = mysql.createConnection({
host: 'localhost',
user: 'your_username',
password: 'your_password',
database: 'your_database'
});
connection.connect((err) => {
if (err) {
console.error('数据库连接失败:', err);
} else {
console.log('数据库连接成功');
}
});
const express = require('express');
const app = express();
// 获取所有用户
app.get('/users', (req, res) => {
const query = 'SELECT * FROM users';
connection.query(query, (err, results) => {
if (err) {
console.error('查询失败:', err);
res.status(500).json({
error: '服务器内部错误'
});
} else {
res.json(results);
}
});
});
// 启动服务器
app.listen(3000, () => {
console.log('API服务器已启动,监听端口3000');
});
node index.js
const express = require('express')
const cors = require('cors')
const bodyParser = require('body-parser')
const app = express()
app.use(cors()) // 使用cors中间件
// 解析请求体,使我们能够访问POST请求的数据
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
// 创建数据库链接
const connection = mysql.createConnection({
host: '127.0.0.1',
user: '用户名',
password: '密码',
database: '数据库名'
})
connection.connect()
function initDate () {
var dt = new Date()
var y = dt.getFullYear()
var mt = dt.getMonth() + 1
var day = dt.getDate()
var h = dt.getHours() //获取时
var m = dt.getMinutes() //获取分
var s = dt.getSeconds() //获取秒
if (mt < 10) {
mt = '0' + mt
}
if (day < 10) {
day = '0' + day
}
if (h < 10) {
h = '0' + h
}
if (m < 10) {
m = '0' + m
}
if (s < 10) {
s = '0' + s
}
return y + '-' + mt + '-' + day + ' ' + h + ':' + m + ':' + s
}
app.post('/submit', (req, res) => {
const data = req.body
const user_name = data.name
const email = data.email
const message = data.message
const create_time = initDate()
console.log(create_time, 'create_time')
connection.query(
`insert into message_log (create_time, user_name, email,remark) values ('${create_time}','${user_name}','${email}','${message}');`,
function (err, rows, fields) {
console.log(err, rows, fields)
if (err == null) {
res.json({
status: 200
})
} else {
res.json({
status: 500,
err, rows, fields
})
}
}
)
})
// 启动服务器
app.listen(3000, () => {
console.log('服务器已启动,监听端口3000')
})