gpt4 book ai didi

javascript - 使用angularjs将数据从express Node 发布到mongodb

转载 作者:行者123 更新时间:2023-11-28 18:59:09 24 4
gpt4 key购买 nike

您好,我正在使用平均堆栈构建一个应用程序,并使用 Angular Controller 成功加载初始数据。然而,当添加用户时,它会尝试将用户对象发布到服务器端,但“/api/contacts”返回错误 500,(类型错误:未定义不是函数)。代码如下:

//完整的错误消息:

TypeError: undefined is not a function
at module.exports.postcontactlist (/Users/Sites/express/api/contacts.js:22:11)
at callbacks (/Users/Sites/express/node_modules/express/lib/router/index.js:164:37)
at param (/Users/Sites/express/node_modules/express/lib/router/index.js:138:11)
at pass (/Users/Sites/express/node_modules/express/lib/router/index.js:145:5)
at Router._dispatch (/Users/Sites/express/node_modules/express/lib/router/index.js:173:5)
at Object.router (/Users/Sites/express/node_modules/express/lib/router/index.js:33:10)
at next (/Users/express/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.methodOverride [as handle] (/Users/Sites/express/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:48:5)
at next (/Users/Sites/express/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at Object.urlencoded [as handle] (/Users/Sites/express/node_modules/express/node_modules/connect/lib/middleware/urlencoded.js:46:27)
at next (/Users/Sites/express/node_modules/express/node_modules/connect/lib/proto.js:193:15)
at /Users/Sites/express/node_modules/express/node_modules/connect/lib/middleware/json.js:91:7
at IncomingMessage.onEnd (/Users/Sites/express/node_modules/express/node_modules/connect/node_modules/raw-body/index.js:57:7)
at IncomingMessage.g (events.js:199:16)
at IncomingMessage.emit (events.js:104:17)
at _stream_readable.js:908:16
POST /api/contacts 500 4ms - 1.69kb

//server.js 路由

var contactlist = require("./api/contacts");
...
app.get("/api/contacts", contactlist.getcontactlist);
app.post("/api/contacts", contactlist.postcontactlist);

///api/contacts.js

var express = require("express");
var http = require("http");
var bp = require("body-parser");
var mongoose = require("mongoose");
var schema = require("../models/contactsdb");

var Contact = mongoose.model("Contact", schema.contactSchema, "contactlist");

module.exports = {

getcontactlist : function (request, response) {

Contact.find({ }, function (err, docs) {
response.send(docs);
});

},

postcontactlist : function(request, response){

console.log("request: " + request.body);

Contact.insert({ "name" : "Vincent Moyet", "email" : "vincentmoyet@gmail.com", "number" : "0987654321" }, function(err, docs){

if(err){

var errorMsg = "error: " + err.message;
console.log(errorMsg);
response.status(500).send(err);

} else {
console.log("success");
response.status(200).end();
}
});
}

};

有人可以告诉我哪里出了问题吗?

最佳答案

看起来您没有向客户报告成功

   postcontactlist : function(request, response){

Contact.insert(request.body, function(err, docs){
if(err){
console.log("error: " + err.message);
---> response.status(500).send(err)
} else {
console.log("success");
---> response.status(200).end()
}
});

}

关于javascript - 使用angularjs将数据从express Node 发布到mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32978196/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com