// 注册用户的处理函数 exports.regUser = (req, res) => { // 1、判断用户名和密码是否为空 // 1.1、接受表单数据 const userinfo = req.body // 1.2、判断数据是否合法 if (!userinfo.username || !userinfo.password) { return res.send({ status: 1, message: '用户名或密码不能为空!' }) } // 2、检测用户名是否被占用 // 2.1、导入数据操作模块 const db = require('../db/index') // 2.2、定义sql语句: const sql = 'select * from ev_users where username = ?' // 2.3、执行sql语句并根据结果判断用户名是否被占用 db.query(sql, userinfo.username, (err, results) => { // 2.4、执行sql语句失败 if (err) return res.send({ status: 1, message: err.message }) // 2.5、用户名被占用 if (results.length === 1) return res.send({ status: 1, message: '用户名被占用' }) console.log('1'); }) 我在验证用户名是否被占用的时候,么有把下面用来测试的res.send('reguser ok')给注释掉,以至于造成res.send()重复调用,才造成:Cannot set headers after they are sent to the client。错误 //res.send('reguser ok') }