节点js ajax发布请求

它除了Node js和AJAX POST的错误之外,Node请求不能检查表单数据是否正确处理,总是会掉到错误函数,下面的任何解决scheme都要检查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(); }); }); }); 

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

您的AJAX请求“/ process_add”将指向您的URL的根目录。例如,abc.com是您的域,此处的端点将是“abc.com/process_add”。 确保你的路由器存在于app的“/”的根引用中。像这样的东西

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(); }); }); }); 

快乐编码!