如果语句在EJS中不起作用,则在EJS模板中在response.render上显示警报

我有一个注册端口请求,完成该请求后,它会以口头signupRequest:“成功”呈现一个EJS模板。

但是当我进入localhost:8888 /时,它给了我这个错误

错误:

    ReferenceError: /Users/oliver_christensen/Documents/codeFiles/nodejs-app-1/views/index.ejs:36
    34| </style>
    35| <body>
 >> 36|     <% if (signupRequest) { %> 
    37|        <script>alert('You have been signed up successfully!');</script> 
    38|     <% } %>
    39|     

signupRequest is not defined

当我访问signup.html并发送帖子请求时。然后它可以工作,并且index.ejs响应。

只是当您在没有发布注册请求的情况下转到localhost:8888 /时,它给了我错误...


我做错了,或者,谢谢您的帮助:)


我的代码:

server.set('view engine','ejs');

server.use(bodyParser.urlencoded({
    extended: true
}));

server.get('/',(req,res) => {
    res.render('index');
});

server.post('/signup',res) => {
    // at the end of signup requset function
    res.render('index',{signupRequest: 'success'});
}
xiangan2010 回答:如果语句在EJS中不起作用,则在EJS模板中在response.render上显示警报

我认为这是因为对于POST和GET方法,您引用的是同一模板。问题是当您转到GET localhost:8888 /时,您没有传递第二个参数{signupRequest: false}。设置为false不会触发警报。

server.get('/',(req,res) => {
    res.render('index',{signupRequest: false});
});
本文链接:https://www.f2er.com/3122051.html

大家都在问