Html 使用表单插入MySQL后未呈现页面
我正在尝试在添加用户表单成功提交后呈现我的管理仪表板页面。插入用户时正在执行以下代码:Html 使用表单插入MySQL后未呈现页面,html,mysql,node.js,handlebars.js,Html,Mysql,Node.js,Handlebars.js,我正在尝试在添加用户表单成功提交后呈现我的管理仪表板页面。插入用户时正在执行以下代码: app.get('/insert-user',function(req,res,next){ var context = {}; pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`,`timestamp`,`company`) VALUES (?,?,?,?,NOW(),?)", [req.query.fname
app.get('/insert-user',function(req,res,next){
var context = {};
pool.query("INSERT INTO user (`fname`, `lname`, `email`, `password`,`timestamp`,`company`) VALUES (?,?,?,?,NOW(),?)",
[req.query.fname, req.query.lname, req.query.email, req.query.password, req.query.company],
function(err, result){
if(err){
console.log(err);
next(err);
return;
}
res.render('adminDash',context);
});
});
记录已成功插入到表中,但页面仍保留在填充的表单上,并且不会呈现adminDash
。adminDash
把手包含以下部件:
<h1>Admin Dashboard</h1>
<p><a href="http://18.219.103.143:3000/add-user">Add a User</a></p>
<p><a href="http://18.219.103.143:3000/edit-delete-user">Edit/Delete a User</a></p>
<p><a href="http://18.219.103.143:3000/add-admin-user">Add Admin User</a></p>
<p><a href="http://18.219.103.143:3000/edit-delete-admin-user">Edit/Delete Admin User</a></p>
<p><a href="http://18.219.103.143:3000/admin-login">Generate Report</a></p>
<form id="userForm">
<fieldset>
<legend>Add User</legend>
<p>First Name: <input id="fname" type="text" name="fname"/></p>
<p>Last Name: <input id="lname" type="text" name="lname"/></p>
<p>Email: <input id="email" type="text" name="email"/></p>
<p>Company: <input id="company" type="text" name="company"/></p>
<p>Password: <input id="password" type="text" name="password"/></p>
<button type="button">Attach Signature</button>
</fieldset>
<input id="addUser" type="submit" name="add" value="Add User" onclick="addRow()" />
</form>
<script src="script.js"></script>
我把渲染器放错地方了吗?它试图呈现的页面是否有问题?谢谢 试着这样做
models.User.create(function({
//Your Query goes here
})
.then(function(result){
res.render('',{
result:result
});
}).catch(function(err){
console.log(err);
})
and in your ADmin Dashboard try to call this Result in a forEach loop
<% result.forEach(results) %>
models.User.create(函数({
//你的问题就在这里
})
.然后(函数(结果){
res.render(“”{
结果:结果
});
}).catch(函数(err){
控制台日志(err);
})
在管理仪表板中,尝试在forEach循环中调用此结果
为什么在链接中使用hardcored18.219.103.143:3000
如果您更改主机/ip,您可以再次更改所有这些链接。@RaymondNijland没错。我将更改为常量以实现可伸缩性。但是,我不认为这会导致我的问题。“但是,我不认为这会导致我的问题。”在整个部分中?pool.query(“插入用户(
fname,
lname,
email,
password,
timestamp,
company)值(?,,?,NOW(),),[req.query.fname,req.query.lname,req.query.email,req.query.password,req.query.company],函数(err,result){if(err,result){console.log(“公司不存在”);next(err);return;}res.render('adminDash',context);});
不只是查询到req.Query.Company我的insert函数现在是this,但是我得到一个语法错误app.get('/insert user',function(req,res next){var context={};models.user.create(函数({pool.query(“插入用户(
fname,
lname,
email,
password,
timestamp,
company)值(?,,?,NOW(),?)”,[req.query.fname,req.query.lname,req.query.email,req.query.password,req.query.company],})。然后(函数(结果){res.render(“”,{result:result});}).catch(function(err){console.log(err);});});
根据您的问题尝试编辑此代码,现在无需提出查询这是查询的续集方法我不确定我是否理解。抱歉。但我只是不清楚上面的所有代码在我现有的结构中适用于哪里。
{
models.Page.findOne({
where :{slug:slug}
})
models.Page.create({
title: title,
slug: slug,
content: content,
sorting: 0
})
.then((page)=>{
req.flash('success', 'Page added!');
res.redirect('/admin/pages');
})
.catch((err) => {
console.log(err);
})
}
});