NodeJS Express HTML隐藏输入值仅显示第一个单词
我有一个NodeJS应用程序,它使用EJS作为模板引擎。在几个页面上,我使用隐藏输入,并使用req.body访问它们的值。我已经在express中设置了身体解析器,一切都很好。但是,任何具有多个单词的值的隐藏输入似乎只显示第一个单词 例如,我的带有NodeJS Express HTML隐藏输入值仅显示第一个单词,html,node.js,express,hidden-field,Html,Node.js,Express,Hidden Field,我有一个NodeJS应用程序,它使用EJS作为模板引擎。在几个页面上,我使用隐藏输入,并使用req.body访问它们的值。我已经在express中设置了身体解析器,一切都很好。但是,任何具有多个单词的值的隐藏输入似乎只显示第一个单词 例如,我的带有name=“eventname”的隐藏输入具有值:“示例隐藏文本”。当我在我的快速路线中执行req.body.eventname时,我得到了“Sample”。为了进行测试,我将隐藏输入的值更改为“Sample\u hidden\u text”,在这种情
name=“eventname”
的隐藏输入具有值:“示例隐藏文本”。当我在我的快速路线中执行req.body.eventname
时,我得到了“Sample”。为了进行测试,我将隐藏输入的值更改为“Sample\u hidden\u text”,在这种情况下,req.body.eventname
作为“Sample\u hidden\u text”出现。隐藏输入是否不允许值中有空格
下面是示例代码。page.ejs中控制台日志中event.name的值给出了“示例隐藏文本”的正确值。然而,post路由中的控制台日志给出了“示例”
Page.ejs
<form action="/addnewresult" method="POST">
<% console.log("the value of event.name hidden field", event.name) %>
<input type="hidden" name="eventname" value=<%= event.name %>>
<button type="submit" name="submit" class="btn">Submit</button>
</form>
这只是安德鲁·迈尔斯在评论中的总结。 需要使用引号->
“
而不仅仅是
来显示整个文本,而不仅仅是第一个单词
谢谢安德鲁·迈尔斯,它也帮助了我 发布示例模板和示例服务器请发布一些代码以便我们查看。添加了代码和说明。
周围是否真的没有引号?如果是这样,那就是你的问题。您甚至可以查看页面源代码(Chrome中的Ctrl+U)以查看实际呈现的内容。太棒了!!!就这样。我没有意识到这是必要的,为了让整个值显示出来,因为我只有一个词的值在其他任何地方。谢谢
var express = require("express"),
bodyParser = require("body-parser")
var app = express();
app.post("/addnewresult", function(req,res){
console.log("this is req.body in the post call: ", req.body);
DBhandler.CreateResult(req,res,function(callback){
//do some stuff here
});
});