首页
Search
1
剑侠账本
352 阅读
2
2024最好用的虚拟卡 VISA
320 阅读
3
使用vue3及Echarts插件实现Github代码热力图
318 阅读
4
Mac 开机自动执行 Shll 脚本
253 阅读
5
Nginx配置后请求报404的解决思路
194 阅读
Vue
React
Nodejs
小程序
工具
其他
随笔
登录
Search
标签搜索
Vue
Shll
vue3
echarts
ts
typescript
eventbus
Visa
Nginx
Nodejs
Aoki
累计撰写
10
篇文章
累计收到
11
条评论
首页
栏目
Vue
React
Nodejs
小程序
工具
其他
随笔
页面
搜索到
10
篇与
的结果
2024-12-11
Nodejs定义API路由-2
定义API路由在routes目录下创建databaseRoutes.js,并配置API路由。routes/databaseRoutes.jsconst express = require('express'); const router = express.Router(); const databaseController = require('../controllers/databaseController'); // 获取所有记录 router.get('/records', databaseController.getAllRecords); // 根据ID获取记录 router.get('/records/:id', databaseController.getRecordById); // 添加新记录 router.post('/records', databaseController.createRecord); // 根据ID删除记录 router.delete('/records/:id', databaseController.deleteRecord); module.exports = router;Step 5: 配置Express应用在app.js中引入Express和路由,并启动服务器。app.jsconst express = require('express'); const app = express(); const databaseRoutes = require('./routes/databaseRoutes'); // 中间件配置 app.use(express.json()); // 解析JSON请求 // 路由配置 app.use('/api', databaseRoutes); // 启动服务器 const PORT = process.env.PORT || 3000; app.listen(PORT, () => { console.log(`服务器正在运行,端口:${PORT}`); });Step 6: 启动服务器使用以下命令启动服务器:node app.js现在,API接口已经搭建好,可以使用Postman或前端代码进行访问。Step 7: 前端请求API前端可以通过HTTP请求来访问API接口,例如使用fetch或Axios。以下是使用Axios的示例:// 使用Axios发送GET请求,获取所有记录 axios.get('http://localhost:3000/api/records') .then(response => { console.log(response.data); }) .catch(error => { console.error(error); }); // 添加一条新记录 axios.post('http://localhost:3000/api/records', { name: '新记录', value: '数据值' }) .then(response => { console.log('记录已创建:', response.data); }) .catch(error => { console.error(error); });总结在Node.js中创建一个Express服务器,并定义数据库接口。通过mysql2连接MySQL数据库,并在控制器中实现查询、插入和删除操作。配置路由,使前端可以通过HTTP请求访问数据。
2024年12月11日
183 阅读
0 评论
1 点赞
2024-12-11
Nodejs连接数据库-1
使用Node.js连接数据库并创建一个API接口,前端可以通过HTTP请求访问后端的数据。我们可以使用Express框架来创建REST API接口,同时使用MySQL或MongoDB等数据库。以下是如何用Node.js编写一个接口并实现数据库连接和API请求的步骤。项目结构app.js: 主应用文件,配置Express和API路由routes/databaseRoutes.js: 定义API路由controllers/databaseController.js: 控制器层,包含具体的数据库操作config/db.js: 配置数据库连接步骤详解Step 1: 初始化项目并安装依赖初始化一个Node.js项目,并安装需要的依赖:mkdir node-api-demo cd node-api-demo npm init -y npm install express mysql2 dotenvexpress:用于创建REST APImysql2:MySQL数据库的Node.js驱动dotenv:用于管理环境变量Step 2: 配置数据库连接在项目根目录创建一个.env文件,用于存放数据库连接信息:.envDB_HOST=localhost DB_USER=your_username DB_PASSWORD=your_password DB_NAME=your_database然后,在config/db.js中创建数据库连接:config/db.jsrequire('dotenv').config(); const mysql = require('mysql2'); // 创建数据库连接池 const pool = mysql.createPool({ host: process.env.DB_HOST, user: process.env.DB_USER, password: process.env.DB_PASSWORD, database: process.env.DB_NAME }); module.exports = pool.promise();Step 3: 创建数据库控制器在controllers目录中创建databaseController.js文件,定义获取、添加、删除数据库记录的方法。controllers/databaseController.jsconst db = require('../config/db'); // 获取所有记录 exports.getAllRecords = async (req, res) => { try { const [rows] = await db.query('SELECT * FROM records'); res.json(rows); } catch (err) { res.status(500).json({ error: '数据库查询出错' }); } }; // 根据ID获取记录 exports.getRecordById = async (req, res) => { const id = req.params.id; try { const [rows] = await db.query('SELECT * FROM records WHERE id = ?', [id]); if (rows.length === 0) { return res.status(404).json({ error: '记录未找到' }); } res.json(rows[0]); } catch (err) { res.status(500).json({ error: '数据库查询出错' }); } }; // 添加新记录 exports.createRecord = async (req, res) => { const { name, value } = req.body; try { const [result] = await db.query('INSERT INTO records (name, value) VALUES (?, ?)', [name, value]); res.status(201).json({ id: result.insertId, name, value }); } catch (err) { res.status(500).json({ error: '数据库插入出错' }); } }; // 根据ID删除记录 exports.deleteRecord = async (req, res) => { const id = req.params.id; try { const [result] = await db.query('DELETE FROM records WHERE id = ?', [id]); if (result.affectedRows === 0) { return res.status(404).json({ error: '记录未找到' }); } res.json({ message: '记录已删除' }); } catch (err) { res.status(500).json({ error: '数据库删除出错' }); } };
2024年12月11日
181 阅读
0 评论
0 点赞
2024-10-16
Nginx配置后请求报404的解决思路
请求返回 404 错误,可能确实与 Host 头有关,也有可能是后端服务器本身的资源路径问题。错误示例:location /jx3/ { rewrite ^/jx3/(.*)$ /$1 break; proxy_pass https://jx3api.btcsg.top; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; }1.Host 头设置问题:在你当前的配置中,proxy_set_header Host $host; 会将客户端的原始主机名(假如是jx.ieoog.com)传递给后端服务器。这可能会导致后端服务器无法正确解析请求,尤其是如果后端服务器依赖 Host 头来确定处理逻辑或域名解析时。例如,如果后端服务器 https://jx3.top 需要 Host 头为它自己的域名(即 jx3.top),那么将 Host 设置为 jx.ieoog.com 可能会导致 404 错误,因为服务器接收到的是一个它无法识别的域名。解决方法:试试将 proxy_set_header Host 改为:proxy_set_header Host jx.top;这样,后端服务器会接收到正确的 Host 头信息(即 jx.top),从而能够正确处理请求。2. 后端资源路径问题:如果 Host 头设置正确,仍然返回 404,可能是后端服务器 https://jx3api.btcsg.top 上并不存在 /user/token 这个路径。可以通过直接访问 https://jx3api.btcsg.top/user/token 来验证该路径是否存在。解决方法:检查后端服务器是否期望请求路径格式发生改变。例如,如果后端服务器需要保留 /jx3/ 前缀,可以修改重写规则或直接在 proxy_pass 中保留 /jx3/,比如:proxy_pass https://jx3.top/jx3/;这样,访问 https://jx.ieoog.com/jx3/us/tn 时会被代理为 https://jx3api.btc.top/jx3/us/tn。
2024年10月16日
194 阅读
0 评论
0 点赞
2024-07-23
剑侠账本
使用方法不再乎图标可以直接使用以下是图标的上传方法:1.打开剑网三魔盒>物品百科 https://www.jx3box.com/item/2.寻找图标3.添加4.效果
2024年07月23日
352 阅读
5 评论
1 点赞
2024-03-19
2024最好用的虚拟卡 VISA
急性子忽略以下介绍直接点击:https://dupay.one/web-app/register-h5?invitCode=V8WUQ0&lang=zh-cn运营时间比较长,是一家老平台,他的核心优势的除了可以开虚拟卡外,可以开借记卡,借记卡支持实体邮寄,同时可以转账出入金美股,风控比虚拟卡少很多,其次是费率相对同行里面较低,有APP端,产品整体体验较好。劣势可能就是和大部分虚拟卡的劣势一样,风控问题等等。支持USDT,GBP。借记卡预付卡黑金卡可免月费
2024年03月19日
320 阅读
0 评论
2 点赞
1
2