javascript - 如何将变量从 javascript 文件传递​​到服务器到 ejs 模板

标签 javascript ejs

在我的项目中,我希望用户选择一个单选按钮,然后根据单选按钮的值,我想显示一个唯一的页面。我必须使用 ejs 模板,但我不明白如何将按钮的值传递给 ejs 模板。

<input name="imagePick" value="1" type="radio" id="one">
<label for="one">
   <img src="images/aries.png" alt="aries" height="150" width="auto">
</label>

<input name="imagePick" value="2" type="radio" id="two">
<label for="two">
    <img src="images/taurus.png" alt="taurus" height="150" width="auto">
</label>

$("input[name='imagePick']").on("change", function() {
    var sign = $('input[name="imagePick"]:checked').val();
    console.log("the sign is: " + sign);
});

var theSign = 符号;

res.render('template.ejs', {theSign : theSign});

</head>
    <body>
        <% for (var i = 0; i < allTheData.length; i++) { %>
        <h1>Hi <span id="first"><%=allTheData[i].first%></span><br/><br/></h1>
        <% } %>

        <h1> sign: <span id="sign"><%=theSign%></span></h1><br/> 
        <h2> what a great webapp </h2> 
    </body>
</html>

最佳答案

由于表单是客户端 DOM 的一部分,并且服务器端代码将 EJS 转换为 HTML:您需要在 HTTP 请求中将数据发送到服务器。

将表单控件放在 <form> 中,设置action到由 Express 代码中的路由处理的 URL,然后从查询字符串或请求正文中读取它,具体取决于您是否选择使用 GET or POST 。按照你喜欢的方式处理数据,然后将其传入 an object as the argument to render() .

关于javascript - 如何将变量从 javascript 文件传递​​到服务器到 ejs 模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56010300/

相关文章:

javascript - 如何在 MongoDB 中按引用字段查询?

javascript - 有条件地显示 EJS 数据

javascript - 从前端将数据发送回 node.js 服务器

javascript - Safari Bug 与元素innerText

javascript - 如何在多对多关系中使用复选框?

javascript - 如果元素不存在,如何将样式属性添加到该元素,或者仅使用 Javascript 将给定样式添加到预先存在的样式属性?

javascript - 自定义谷歌地图

javascript - res.render() 函数渲染 ejs 页面不会刷新 UI,但 ejs 页面会被调用

node.js - NodeJS Express app.locals 无法在函数中直接访问

node.js - ejs中的多个变量声明