Node.js 将值传递给分部视图
Node.js pass a value to a partial view
我的路线如下所示:
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
。
虽然我不是 100% 确定这是最好的方法,但我找到了解决方法:
通过将 'null check' 添加到索引中的输出,我可以避免在访问没有搜索结果的部分结果时出现 output not defined
错误。
所以索引现在变成:
<div id="searchDiv">
<% include ../partials/search %>
<br>
<%if (typeof output !== 'undefined') { %>
%> <% include ../partials/results %>
<% } %>
</div>
希望有人能提供更好的方法?
我的路线如下所示:
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
。
虽然我不是 100% 确定这是最好的方法,但我找到了解决方法:
通过将 'null check' 添加到索引中的输出,我可以避免在访问没有搜索结果的部分结果时出现 output not defined
错误。
所以索引现在变成:
<div id="searchDiv">
<% include ../partials/search %>
<br>
<%if (typeof output !== 'undefined') { %>
%> <% include ../partials/results %>
<% } %>
</div>
希望有人能提供更好的方法?