如何得到答案? (没有页面重新加载)
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>
服务器发送响应。我不明白如何处理它。如果你得到“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>