Express节点js 404错误

时间:2014-10-21 14:55:44

标签: javascript ajax node.js express

当我尝试使用以下代码发布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。

我想我有所有必要的部分,但我是新来表达的。也许我错过了什么?

1 个答案:

答案 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 }
        );
    });
});