我一直在试图获得一个简单的nodejs API与CRUD功能工作。我使用express,和'monk'包与mongodb进行通信。我已经成功使用GET请求拉取数据。Node,express,Monk,mongodb:发送请求时400错误请求错误。为什么我得到这个错误?
我无法获得post()函数的工作。当插入请求是从每次调用插入文档的GET请求调用时,我都可以向mongo插入新文档。但是,无论我做什么,有或没有实际的插入请求,我的帖子返回一个400
这是我的路由文件:
var express = require('express');
var router = express.Router();
/* GET hours page. (for users to submit hours) */
router.get('/', function (req, res) {
var db = req.db;
var collection = db.get('entries');
collection.find({}, /*{limit:20}, */function (err, docs) {
if (err) {
console.log('couldn\'t load entries');
}
res.json(docs);
});
});
/* POST hours page. (for users to submit hours) */
router.post('/', function (req, res) {
if (!(req.body.job || req.body.code || req.body.hours)) {
handleError(res, 'Invalid user input', 'Must complete input', 400);
}
var db = req.db;
var collection = db.get('entries');
var newEntry = req.body;
collection.insert(newEntry, function (err, docs) {
if (err){
handleError(res, err.message, 'Failed to create new entry');
}
res.json(docs);
});
});
module.exports = router;
我真的不知道为什么过一个职位要求正在返回一个400.我认为这是我的主文件的问题,但它几乎没有从最初的快速生成的文件改变。
原来这段代码工作得很好。出于某种原因,我认为在我的文章中发送原始JSON而不是x-www-form-urlencoded会很明智。 – matthewninja