Javascript 节点js ajax post请求
除了节点js和AJAX POST出现错误外,节点请求无法检查表单数据是否得到正确处理,始终会转到错误函数, 检查以下AJAX节点JS代码的任何解决方案Javascript 节点js ajax post请求,javascript,jquery,node.js,ajax,mongodb,Javascript,Jquery,Node.js,Ajax,Mongodb,除了节点js和AJAX POST出现错误外,节点请求无法检查表单数据是否得到正确处理,始终会转到错误函数, 检查以下AJAX节点JS代码的任何解决方案 $("#submit_btn").click(function() { $.ajax({ url: '/process_add', type: 'POST', dataType: "json", data: $('#process_form').serializeArray(
$("#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有(/process\u add)提示不是该api的根,因此如果索引是根(/index/process\u add)您的Ajax请求“/process\u add”将指向URL的根。例如,abc.com是您的域,这里的端点将是“abc.com/process\u add”。 确保你的路由器存在于应用程序中“/”的根引用中 app.js
var index = require('./routes/index');
app.use('/',index);
routes/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();
});
});
});
快乐编码 您收到了什么错误消息?请提供更详细的主题/标题。我不确定,但我认为您需要通过localhost和port传递整个URL。我认为您不能在服务器端使用jQuery。改用http.request。仔细检查后,您似乎混淆了前端和后端代码。请您将它们清楚地分开,并按照其他人的建议包含错误消息好吗?因此,如果路由器是使用
app.use('/index',router)安装的例如,code>,则url
将是/index/process\u add
,而不是/process\u add
。如果不这样做,它将查找应用程序。使用('/process\u add')我在routes文件夹的上下文中使用root。请记住,如果你为你的应用程序发送单独的JS文件,你的“根”频道将会改变