[英]use js variable in html
我收到一些奇怪的错误(Express 400 Error: Bad Request)
某些行被转换为变量值,而某些行仅作为错误输出。
这是我的代码示例
exports.add_comment = function(req, res){
var id = req.params.id;
req.getConnection(function (err, connection) {
connection.query('Select * from Campgrounds where campID = ?', [id], function(err, rows){
if (err) {
console.log(err);
} else {
res.render('add_comment',{page_title:"Add Comment", data:rows});
}
});
});
};
exports.save_comment = function(req,res){
var id = req.params.id;
var input = JSON.parse(JSON.stringify(req.body));
req.getConnection(function (err, connection) {
connection.query('Select * from Campgrounds where campID = ?', [id], function(err, rows){
if (err) {
console.log(err);
var test = '<%= data[i].campID %>';
res.redirect("/campgrounds/show/" + test);
} else {
var data = {
campID : rows[0].campID,
comment : input.content,
camper : input.camper
};
connection.query('INSERT INTO Comments set ?', data, function(err, rows)
{
if (err)
console.log("Error inserting : %s ",err );
res.redirect("/campgrounds/show/<%=rows[0].campID%>");
});
}
});
});
};
这就是 ejs 文件 - add_comment.ejs
<%- include layouts/header.ejs %>
<div class="container">
<div class="row">
<div class="col-md-6 col-md-offset-3 col-sm-6 col-xm-offset-3">
<div class="well">
<h2 class="text-center">Add new Comment</h2> <p><%=data[0].campID%></p>
<form method="post" action="/campgrounds/show/<%=data[0].campID%>/comments/add">
<div class="form-group" style="margin: 10%;">
<label>Content</label>
<input type="textarea" name="content" class="form-control input-lg" />
</div>
<div class="form-group" style="margin: 10%;">
<label>camper</label>
<input type="text" name="camper" class="form-control input-lg" />
</div>
<div class="form-group" style="margin: 10%; margin-bottom: 15px;">
<button class="btn btn-primary btn-lg btn-block" >Submit</button>
</div>
</form>
<p style="margin: 10%; margin-top: 0px;"><a href="/campgrounds/show/<%=data[0].campID%>">Go back!</a></p>
</div>
</div>
</div>
<%- include layouts/footer.ejs %>
现在,当我启动服务器时,例如“返回”按钮确实起作用并将href="..<%=data[0].campID%>"
为 campID 值 (2)
当我使用提交按钮时,相同的<%=data[0].campID%>
变为"%3C%=rows[0].campID%%3E"
而不是值。
这是为什么?
我认为在你的 js 中你必须做
res.redirect("/campgrounds/show/" + rows[0].campID);
代替
res.redirect("/campgrounds/show/<%=rows[0].campID%>");
您在 html 模板中使用的语法通常与您在 js 中使用的不同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.