您好我正在構建一個應用程序,使用平均堆棧,並使用角度控制器成功加載初始數據。但是,當添加用戶時,它會嘗試將用戶對象發佈到服務器端,但是「/ api/contacts」返回錯誤500,(TypeError:undefined不是函數)。代碼如下:使用angularjs發佈從express節點到mongodb的數據
//完整的錯誤消息:
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" : "[email protected]", "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();
}
});
}
};
有人可以開導哪裏im出錯了?
嗨Simon H,道歉我對Stackflow還是比較新的。 我試過「.save」而不是「.insert」,但收到相同的確切錯誤信息。好,請問 – vicgoyso
好。但是你可以通過查看錯誤信息 –
中的行號來檢查它沒有找到哪個函數,但是我已經完成了,但是不能確定它不工作的原因,除了Im仍然是node express的新手。 – vicgoyso