我正在将nodejs与express和mysql一起使用。当我提交表单时,发现错误“ uniqid不是函数”。
var express = require('express');
var router = express.Router();
var uniqid = require('uniqid');
var db = require('../db');
router.post('/create',function(req,res,next){
var full_name = req.body.fullname;
var email = req.body.email;
var password= req.body.password;
var mobile_no = req.body.mobile_no;
var uniqid = uniqid();
var insert_query = `INSERT INTO users (user_uid,full_name,email,mobile_no,password) VALUES ("${uniqid}","${full_name}","${email}","${mobile_no}","${password}") `;
db.query(insert_query,function(err,result){
if(err) throw err;
res.redirect('/signup');
});
});
module.exports = router;
您正在用uniqid
中的值覆盖uniqid()
模块>
,但随后的调用将失败,并显示错误“ uniqid不是一个函数”]更改名称并使用es6var uniqid = require('uniqid'); ... var uniqid = uniqid();
虽然它可能在第一次执行时就起作用了[[1
let/const
代替var
const uniqid = require('uniqid');
...
const newId = uniqid();
const insert_query = `INSERT INTO ... VALUES ("${newId}"...) `;
没有,请参见下面的Klaycon评论1