我是 Node.js 的新手。我将它用作 iPhone 客户端的服务器后端。我正在使用 JSON 调用 POST:{firstname: "bob", email : bob@someemail.com}
node.js 代码如下所示(使用 Express 和 Mongoose):
var User = new Schema({
firstname : { type: String, required: true}
, email : { type: String, required: true, unique : true}
});
var User = mongoose.model('User', User);
对于 POST,
app.post('/new/user', function(req, res){
// make a variable for the userData
var userData = {
firstname: req.body.firstname,
email: req.body.email
};
var user = new User(userData);
//try to save the user data
user.save(function(err) {
if (err) {
// if an error occurs, show it in console and send it back to the iPhone
console.log(err);
res.json(err);
}
else{
console.log('New user created');
}
});
res.end();
});
现在,我正在尝试使用相同的电子邮件创建重复用户。由于我对电子邮件的“独特”约束,我希望这会引发错误——确实如此。
但是,node.js 进程以“错误:发送后无法设置标头”而终止。
我希望能够在诸如此类的情况下将消息发送回 iPhone 客户端。例如,在上面,我希望能够将 JSON 发送回 iphone,说明新用户创建的结果(成功或失败)。
谢谢!