繁体   English   中英

在html中使用js变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM