我有一条看起来像这样的路线:
app.get('/Search', function (req, res) {
var searchString = req.query.SearchString;
var request = require('./cstapi')(searchString, onBody);
function onBody(body) {
res.render('index', { output: body });
}
});
和一个如下所示的index.ejs:
<div id="searchDiv">
<% include ../partials/search %>
<br>
<% include ../partials/results %>
</div>
搜索看起来像这样:
<form action="./search" method="GET">
<input type="text" name="SearchString" class="form-control" >
<input type="submit" value="Search" class="form-control">
</form>
结果如下:
<p>Search returned the following: <%= output %></p>
我尝试在用户提交表单后尝试将搜索结果显示在部分视图中。在上面我尝试渲染索引和后续的部分视图时得到output is not defined
。
答案 0 :(得分:0)
我找到了一个解决方法,虽然我不是100%确定这是最好的方法:
通过在索引中向输出添加“null check”,可以在没有搜索结果的情况下访问结果部分时避免output not defined
错误。
所以索引现在变成:
<div id="searchDiv">
<% include ../partials/search %>
<br>
<%if (typeof output !== 'undefined') { %>
%> <% include ../partials/results %>
<% } %>
</div>
希望有人可以提供更好的方法吗?