当我尝试使用以下代码发布ajax请求时,我正在努力解决404错误“
// Use AJAX to post the object to our addReport service
$.ajax({
type: 'POST',
data: newReport,
url: '/add/addreport',
dataType: 'JSON'
})
我的app.js包含路线
var routes = require('./routes/index');
var reports = require('./routes/reports');
var add = require('./routes/add');
和
app.use('/', routes);
app.use('/reports', reports);
app.use('/add', add);
然后在路径文件中
var express = require('express');
var router = express.Router();
/*
* GET reportList.
*/
router.get('/reportlist', function(req, res) {
var db = req.db;
db.collection('reports').find().toArray(function (err, items) {
res.json(items);
});
});
/*
* POST to addreport
*/
router.get('/addreport', function(req, res) {
var db = req.db;
db.collection('reports').insert(req.body, function(err, result){
res.send(
(err === null) ? { msg: '' } : { msg: err }
);
});
});
module.exports = router;
GET请求正常。但我在POST(addreport)上获得了404。
我想我有所有必要的部分,但我是新来表达的。也许我错过了什么?
答案 0 :(得分:2)
你应该改变你正在使用的路线上的方法以及#ad; addreport'
尝试将其更改为发布方式:
router.post('/addreport', function(req, res) {
var db = req.db;
db.collection('reports').insert(req.body, function(err, result){
res.send(
(err === null) ? { msg: '' } : { msg: err }
);
});
});