节点.js无法使用 res.json 设置标头错误
node.js cannot set header error using res.json
if (user) {
if (userId != user._id) {
res.json({success: false, msg: 'Invalid request, wrong secret key'});
}
User.comparePassword(password, user.password, function (err, result) {
if (result === true) {
res.json({success: true, msg: 'ok'});
} else {
res.json({success: false, msg: 'Error, Incorrect password!'});
}
});
} else {
res.json({ success: false, msg: 'Error, account not exist!'});
}
我以为第一个res.json会停止下面的res.json,但在这种情况下,我似乎无法使用第一个res.json,我不知道为什么。
res.json()
发送响应,但它不会阻止其余代码运行。
因此,您有一些代码路径尝试发送两次res.json()
,这将导致您看到的错误消息。 您需要通过适当的if/then
块或插入适当的return
语句来防止这种情况。
我会建议这个:
if (user) {
if (userId != user._id) {
res.json({success: false, msg: 'Invalid request, wrong secret key'});
return;
}
User.comparePassword(password, user.password, function (err, result) {
if (result === true) {
res.json({success: true, msg: 'ok'});
} else {
res.json({success: false, msg: 'Error, Incorrect password!'});
}
});
} else {
res.json({ success: false, msg: 'Error, account not exist!'});
}
但是,您也可以通过在第一个if
中添加一个else
并将其余代码放入其中来修复它。
相关文章:
- 需要帮助设置json数组
- 在表单提交时设置JSON格式
- 如何使用setVisible()方法设置json模型中元素的可见属性
- 无法使用 extjs4 读取和设置 Json 数据
- SAPUI5设置JSON模型
- JavaScript设置JSON数组以供以后使用
- 如何在节点.js中使用重新连接模块设置 json 值
- 无法在取消设置JSON数组的某些元素后绘制Google标记
- 如何在JavaScript上的array.push上设置JSON数组键
- 使用完全限定字符串设置JSON属性
- 动态设置json选择器
- 我需要在对象中设置json对象属性,然后从同一对象中的另一个对象引用该属性
- 添加到列表框-设置JSON数据作为值
- 如何在jQuery中设置JSON格式为HTML5数据属性
- 在Javascript函数中设置JSON对象并将其传递给另一个函数
- 是否可以写入设置.json在流星
- 如何通过for循环设置json数据
- 尝试为要翻译的语言设置 JSON 文件
- 如何在javascript中设置JSON数组
- 设置JSON数组上的结果值