【发布时间】:2018-03-13 07:18:26
【问题描述】:
我现在正在学习 Node.js,我正在尝试创建一个购物清单应用程序,并且我正在尝试实现一个搜索路由,它检查查询是否与 val 匹配,这是代码
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
//Array List
let list = ['Fish', 'Lettuce', 'Chicken'];
//Set view engine to pug
app.set('view engine', 'pug');
//use bodyParser
app.get('/', function(request, response){
response.render('list', {list});
});
app.get('/search', function(request, response){
return list.map(function(val){
if(request.query.search === val){
return response.send('Yup you got ' + val);
}
response.send('Not found')
});
});
app.get('/new-item', function(request, response){
response.render('new');
});
app.post('/add-item', function(request, response){
let add = response.send(request.body);
list.push(add);
});
app.listen(port, function(){
console.log('Listening on Port 3000');
});
现在问题出在/search 路由的if 条件下,我知道我收到错误的原因是因为我不能使用response.send 两次,我正在寻找一种发送任一响应的方法,基于是否满足条件。
任何帮助表示赞赏
谢谢
【问题讨论】:
-
如果条件失败,请使用“else”。
-
尝试将第二个条件放在else中
-
我确实把它放在了一个 else 块中,但仍然是 samw
标签: javascript node.js server