如何得到答案? (没有页面重新加载)

how to get an answer? (no page reload)

服务器发送响应。我不明白如何处理它。如果你得到“json”打开一个带有数组的页面。如果你得到“res.render”刷新页面。我怎样才能得到json并处理它。

// express.js

if (!errors.isEmpty()) {          
    if (errors.array().find(el => el.param === 'login')) {
        //1 version
        res.status(409).json({
            message: 'Error login'
        })
        //2 version
        res.render('reg', {
            isReg: true
        })
    } 
}
 
 <!-- Handlebars -->
 <form class="login-form" action="/reg" method="POST" >
    <div class="form-group">
        <label for="exampleInputEmail1" class="text-uppercase">Login</label>
        <input type="text" class="form-control" id="validationLogin" name="login" placeholder="" required>
    </div>
        <div class="block-login d-flex justify-content-center">
        <button type="submit" class="btn btn-login float-right">Submit</button>
    </div>
</form>

<!-- how to get an answer?  -->

<script>
//example
var answer = res.json
</script>

如果您使用res.json,那么终点将return JSON。这旨在与一些自定义代码一起使用,而不是直接加载到浏览器中。你可以做一个 Ajax request and then insert data from the result into the DOM。这就是您在不加载新页面的情况下获得结果的方式。

如果您使用 res.render,那么无论您渲染什么,终点都会 return,几乎总是 HTML。这一个新页面。您需要将数据作为第二个参数传递给 render,然后使用您选择的视图引擎(在本例中为车把)对其进行处理。

例如

<p>{{isReg}}</p>