Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将jquery操作传递到ejs?_Jquery_Node.js_Ejs - Fatal编程技术网

如何将jquery操作传递到ejs?

如何将jquery操作传递到ejs?,jquery,node.js,ejs,Jquery,Node.js,Ejs,我遇到一个问题,a.ejs上有一些代码 当我提交表格时,带类的div框应该是红色的,但现在没有了,有什么想法吗?谢谢。您误解了服务器端代码和前端代码之间的分离。后端无法访问DOM,因为它的唯一目的是向客户端提供数据HTML、JS等 您的行$box.addClassred;因此,应该移动到EJS模板 a、 js: a、 ejs: // a.ejs <form action="/" method="post"> <div class="box <%=boxClass?

我遇到一个问题,a.ejs上有一些代码


当我提交表格时,带类的div框应该是红色的,但现在没有了,有什么想法吗?谢谢。

您误解了服务器端代码和前端代码之间的分离。后端无法访问DOM,因为它的唯一目的是向客户端提供数据HTML、JS等

您的行$box.addClassred;因此,应该移动到EJS模板

a、 js:

a、 ejs:

// a.ejs
<form action="/" method="post">
    <div class="box <%=boxClass?(boxClass):""%>"></div>
    <input type="submit" value="submit" />
    <%=mary%>
</form>

@RoryMcCrossan抱歉,这是打字错误,已修复。
 .get("/", async (ctx) => {
    await ctx.render("a", {
       mary:""
    });
 })
 .post("/", async(ctx) => {
     await ctx.render("a", {
       mary:"yes"
     });
     $(".box").addClass("red");
 })
 // a.js
 .post("/", async(ctx) => {
     await ctx.render("a", {
       mary:"yes", boxClass: "red"
     });
 })
// a.ejs
<form action="/" method="post">
    <div class="box <%=boxClass?(boxClass):""%>"></div>
    <input type="submit" value="submit" />
    <%=mary%>
</form>