欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 开发在线课程管理系统过程中遇到的问题

开发在线课程管理系统过程中遇到的问题

2024/10/25 4:34:07 来源:https://blog.csdn.net/qq_63170044/article/details/143094901  浏览:    关键词:开发在线课程管理系统过程中遇到的问题

一、跨越问题

解决方法:

        在你的代码中,为了解决跨域问题,你可以使用 cors 中间件来处理跨域资源共享(CORS)。你已经正确安装并引入了 cors,接下来只需要确保中间件的顺序正确。

const express = require('express');
const app = express();
const PORT = 3000;// 跨域中间件(解决跨域问题)
const cors = require('cors');
app.use(cors()); // 必须在所有路由之前使用// 解析 JSON 请求
app.use(express.json()); // 基础路由
app.get('/', (req, res) => {res.send('Online Course Management API is running.');
});// 启动服务器监听指定端口
app.listen(PORT, () => {console.log(`Server is running on http://localhost:${PORT}`);
});// 连接数据库
const mysql = require('mysql');const db = mysql.createConnection({host: 'localhost',user: 'XXXX',password: 'XXXXX',database: 'course_management'
});// 处理数据库连接错误
db.connect(err => {if (err) {console.error('连接失败:', err);return;}console.log('数据库连接成功');
});// 注册路由
app.post('/register', (req, res) => {console.log('收到 POST 请求');const { username, password, role } = req.body;console.log('请求数据:', { username, password, role }); // 打印请求体内容// 检查输入是否有效if (!username || !password || !role) {return res.status(400).send('Invalid input');}// 构造 SQL 语句插入用户信息const sql = `INSERT INTO users (username, password, role) VALUES (?, ?, ?)`;// 执行 SQL 查询并处理结果db.query(sql, [username, password, role], (err, result) => {if (err) {console.error('SQL 插入错误:', err);return res.status(500).send('Database error');}console.log('插入结果:', result); // 打印插入结果res.send('User registered');});
});

解释:

  1. app.use(cors());:这一行引入 cors 中间件,解决跨域问题。它必须放在所有路由之前(即在 /register 路由之前)。

  2. 中间件的顺序cors 应该在所有路由之前调用,确保所有的请求都能被处理跨域。

现在,无论你是在不同端口的前端发送请求(例如,Vue.js 运行在 localhost:8080 而服务器运行在 localhost:3000),都应该不会再有跨域问题。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com