我正在尝试在使用 ajax 插入数据库之前进行身份验证
$('#button').click(function () {
$.post('/db/', {
stuff: { "foo" : "bar"}
}, callback, "json");
});
这是我的 node.js 代码:
server.get('/', function(req,res){
console.log(res);
res.render('index.ejs', {
locals : {
header: '#Header#'
,footer: '#Footer#'
,title : 'Page Title'
,description: 'Page Description'
,author: 'Your Name'
,analyticssiteid: 'XXXXXXX'
}
});
});
^^ 这部分工作正常。它来自样板文件,我可以转到本地主机并查看首页。
下一部分应该是 mongo 插入发生的地方。这给了我一个 404。
server.on('/db/', function(req,res){
console.log(req);
console.log(res);
var db = new mongo.Db( 'dbname' , new mongo.Server( 'localhost', 20003, {}), {});
db.open(function (err) {
db.collection('testCollection', function (err, collection) {
collection.insert(res.stuff);
});
});
});
我要做的是将对象 stuff
插入到 testCollection 中。
现在我在/db/上收到 404
我敢肯定这是非常错误的。我认为我不应该使用 server.on,server.get 也不起作用。请指教,谢谢。
最佳答案
你必须使用 server.post
,因为你正在做一个 POST通过 jQuery 请求。
server.on
将向服务器添加一个事件监听器,在本例中是针对不存在的 /db/
事件,该事件永远不会被任何事件触发。
关于javascript - ajax 发布到 node.js Express 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696657/