GET 请求总是默认为 /(?:)/i - 我怎样才能做到 'undefined'?
GET request always defaults to /(?:)/i - how can i make it 'undefined'?
如果我使用 RegExp,那么我的搜索小部件页面总是会出现:
/(?:)/我
因此总是加载结果列表。我不希望这种情况发生。我只想加载我的页面,然后用户填写搜索框,然后它执行 GET 请求。
app.get("/la_widget", function(req, res) {
var test = new RegExp(req.query.search, 'i');
console.log(test);
Restaurant.find({
LocalAuthorityName: test
},
null,
{
limit: 50
},
function(err, foundAuthority) {
if (foundAuthority) {
res.render("la_widget", {foundAuthority})
} else {
res.render("la_widget", "No local authority matching that input was found.");
}
});
});
在设置搜索查询之前测试 req.query.search
字符串是否已定义 (thuthey)。
const test = (req.query.search)
? new RegExp(req.query.search, 'i')
: undefined
这使用了一个 ternary 运算符,它等于:
let test
if (req.query.search) {
test = new RegExp(req.query.search, 'i')
}
else {
test = undefined
}
如果我使用 RegExp,那么我的搜索小部件页面总是会出现: /(?:)/我
因此总是加载结果列表。我不希望这种情况发生。我只想加载我的页面,然后用户填写搜索框,然后它执行 GET 请求。
app.get("/la_widget", function(req, res) {
var test = new RegExp(req.query.search, 'i');
console.log(test);
Restaurant.find({
LocalAuthorityName: test
},
null,
{
limit: 50
},
function(err, foundAuthority) {
if (foundAuthority) {
res.render("la_widget", {foundAuthority})
} else {
res.render("la_widget", "No local authority matching that input was found.");
}
});
});
在设置搜索查询之前测试 req.query.search
字符串是否已定义 (thuthey)。
const test = (req.query.search)
? new RegExp(req.query.search, 'i')
: undefined
这使用了一个 ternary 运算符,它等于:
let test
if (req.query.search) {
test = new RegExp(req.query.search, 'i')
}
else {
test = undefined
}