问题描述
我尝试对具有名称,电子邮件,电话和查询字段的html进行清理,对于一次输入,我在记录日志时会在控制台中获取数据,但会获得多个字段
TypeError:无法将对象转换为原始值
我的代码如下
router.post('/',async(req,res)=>{
try {
var clean = sanitizeHtml( req.body,{ allowedTags: [],allowedAttributes: {} });
// console.log(clean);
const inquiry = new Inquiry(clean);
await inquiry.save();
res.redirect('/');
} catch(err){
throw(err)
}
})
form.py-3.mx-auto(action="/" method="POST")
.form-row#form-id
.col-md-2
input.form-control(type="text" placeholder="Name" name="name")
br
.col-md-3
input.form-control(type="text" placeholder="Email" name="email")
br
.col-md-2
input.form-control(type="text" placeholder="phone" name="phone")
br
.col-md-3
input.form-control(type="text" placeholder="Brief inquiry" name="inquiry")
br
.col-md
input.btn.btn-primary(type="submit" value="Submit")
我终于设法通过分别处理每个输入来解决它,并且它可以工作,但是,如果有人得到简化的方法,我将很乐意接受它
router.post('/',res)=>{
try {
var cleanName = sanitizeHtml( req.body.name,allowedAttributes: {} });
var cleanEmail = sanitizeHtml( req.body.email,allowedAttributes: {} });
var cleanPhone = sanitizeHtml( req.body.phone,allowedAttributes: {} });
var cleanInquiry = sanitizeHtml( req.body.inquiry,allowedAttributes: {} });
const inquiry = new Inquiry();
inquiry.name = cleanName;
inquiry.email = cleanEmail;
inquiry.phone = cleanPhone;
inquiry.inquiry = cleanInquiry;
await inquiry.save();
res.redirect('/');
} catch(err){
throw(err)
}
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)