节点js ajax发布请求

时间:2017-07-19 12:05:40

标签: javascript jquery node.js ajax mongodb

除了Node js和AJAX POST的错误外,Node请求无法检查表单数据是否正确处理,总是掉到错误函数, 任何解决方案都要检查下面的AJAX NODE JS CODE

$("#submit_btn").click(function() {
    $.ajax({
        url: '/process_add',
        type: 'POST',
        dataType: "json",
        data: $('#process_form').serializeArray(),
        success:function(data) {
            alert('done');
        },
        error: function(errorThrown,data) {
            alert('Error');
        }
    });
});


router.post('/process_add', function(req, res, next) {

    var item = {
        name: req.body.name,
        content:req.body.content
    };

    mongo.connect(url, function(err, db) {
        assert.equal(null, err);
        db.collection('data_collection').insertOne(item, function(err, result) {
            assert.equal(null, err);
            console.log('Process added');
            db.close();
        });
    });
});

2 个答案:

答案 0 :(得分:1)

你需要将该api的(' /')根添加到Ajax请求.post(/ process_add)提示不是该api的root,所以如果index是root(' index) / process_add)

答案 1 :(得分:1)

您的AJAX请求' / process_add'将指向您的URL的根。例如,abc.com是您的域,此处的端点将是' abc.com/process_add'。 确保您的路由器存在于' /'的根引用中在app.Something like this

app.js

var index = require('./routes/index');    
app.use('/',index);

路由/ index.js

    router.post('/process_add', function(req, res, next) {

        var item = {
            name: req.body.name,
            content:req.body.content
        };

        mongo.connect(url, function(err, db) {
            assert.equal(null, err);
            db.collection('data_collection').insertOne(item, function(err, result) {
                assert.equal(null, err);
                console.log('Process added');
                db.close();
            });
        });
    });

快乐的编码!