【发布时间】:2025-11-23 15:20:04
【问题描述】:
我收到一些奇怪的错误(Express 400 错误:错误请求)
有些行被翻译成变量值,有些只是作为错误输出。
这是我的代码示例
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" 而不是值。
这是为什么呢?
【问题讨论】:
标签: javascript node.js express