我一直在試圖獲得一個簡單的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