javascript - ajax 发布到 node.js Express 应用程序?

标签 javascript ajax node.js express

我正在尝试在使用 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/ 事件,该事件永远不会被任何事件触发。

请慢慢来,务必阅读 express.js Guide , Node.js API Docs也可能会派上用场。

关于javascript - ajax 发布到 node.js Express 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696657/

相关文章:

javascript - 如何声明异步生成器函数

javascript - 如果有其他 promise

javascript - phonegap 中的 json 数组到 javascript

node.js - Push 或 addToSet 不适用于 Express、Node 和 mongoose(获取响应 { ok : 0, n : 0, nModified: 0 })

Internet Explorer 中的 JavaScript 故障排除工具

Javascript exec 维护状态

ajax - 当 <Form>&lt;input&gt; 通过 Ajax 加载时,HTML5 的 Autofocus 属性仅在 FireFox 中不起作用。为什么?

javascript - 在 Breeze/Angular 中保留异步查询顺序

javascript - 将变量传递给子函数javascript

javascript - array.split ("stop here") array to array of arrays in javascript 数组