错误:如果else语句发送,则无法设置标题
虽然这似乎是一个非常普遍的问题 – 基于我读过的东西,我无法看到我的代码的问题。 下面你会看到,如果条件满足,我使用返回,所以我会认为它不会尝试设置标题与我的条件。 请看一下,让我知道如果有什么我在这里失踪:
// get user by id app.get('/api/users/:userId', function(req, res) { var userParam = req.params.userId; for (var i = 0; i < users.length; i++) { if (users[i].id === userParam) { return res.status(200).json({user: users[i]}); } else { res.sendStatus(404); } } });
问题是,除非请求的用户是用户数组中的第一个元素,否则在与后续元素匹配之前,您正在使用404进行响应。 有更好的方法来find一个数组匹配(见这里 ),但使用你的方法到目前为止:
// get user by id app.get('/api/users/:userId', function(req, res) { var userParam = req.params.userId; for (var i = 0; i < users.length; i++) { if (users[i].id === userParam) { return res.status(200).json({user: users[i]}); } } // No match in loop res.sendStatus(404); });
- 从MongoDB获取数据并显示在前端
- 在不超过堆栈限制的情况下,通过大量庞大的函数进行迭代或recursion的最佳方法是什么?
- 在nodejs express中运行https服务器时,ERR_SSL_PROTOCOL_ERROR浏览器错误消息
- 无法从express.js加载静态文件
- 允许CORS REST请求到Heroku上的Express / Node.js应用程序
- 使用Express 4在Node.js中全局处理exception的最佳方法是什么?
- 使用application / x-www-form-urlencoded使用node.js发送数据
- 从父节点进程(PM2,NodeJS)运行更新脚本
- login到一个快速应用程序会破坏其他(相同的服务器)会话