[Nodejs]小坑を記録します.Can't set headers after they are sent
11184 ワード
exports.Save = function(req, res, next){
var name = req.body.name || "";
if(validator.trim(name).length == 0){
return RequestError(res, ' ');
}
if(req.body._id){
//
Category.update({_id: req.body._id}, {$set: {name: name}}, function(err){
if(err) return MongodbError(res, err);
});
}else{
Category.create({name: name}, function(err){
if(err) return MongodbError(res, err);
});
}
return res.json({ success: true, message: ' ' });
, , ~~
Category , name
{
name: {
type: String,
unique: true
}
}
, , Can't set headers after they are sent. 。 , res.render,res.send,res.json return, , , return return , , ?
, , c# , , , , ,
Category.create(obj, function(err){
if(err){
}else{
}
})
:
Category.create(obj, function(err){
if(err) return
})
, , , ,
引き出しました.一番後ろに置くべきです.他の言語でも大丈夫です.errの分岐は全部リセットされました.データベースを書いても間違っています.運行が停止されます.最後まで歩くことはできません.しかし、間違えました.次の分析は私が推測しました.正確ではないかもしれません.問題があれば、ご指摘ください.return res.json({ success: true, message: ' ' });
, , io, ,node , , , ,res.json , mongodb , err, res , , err, , res.json, res.json 。
,
exports.Save = function(req, res, next){ var name = req.body.name || ""; if(validator.trim(name).length == 0){ return RequestError(res, ' '); }
setTimeout(function(){ return res.json({ success: true, message: ' ' }); }, 5000);
return res.json({ success: true, message: ' ' });
}
下面是调用的代码:$.post("/web/manage/category", {_id: id, name: n.val(), _csrf: csrf}, function (res) { if (res.success) { //window.location.reload(); } console.log(res); });
:ajax , success:true, , , Can't set headers after they are sent. 。
, 。
exports.Save = function(req, res, next){ var name = req.body.name || ""; if(validator.trim(name).length == 0){ return RequestError(res, ' '); } if(req.body._id){ // Category.update({_id: req.body._id}, {$set: {name: name}}, function(err){ if(err) return MongodbError(res, err); return res.json({ success: true, message: ' ' }); }); }else{ Category.create({name: name}, function(err){ if(err) return MongodbError(res, err); return res.json({ success: true, message: ' ' }); }); }
问题解决!!nodejs , , ,js , , ,