除了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();
});
});
});
答案 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();
});
});
});
快乐的编码!