5

我需要在我的 meteor.js 应用程序中处理一些 POST 数据,有没有简单的方法可以做到这一点?

非常基本,如果它是一个 PHP 应用程序,我只需要 $_POST 变量。

4

4 回答 4

4

流星路由器

https://github.com/tmeasday/meteor-router#server-side-routing

Meteor.Router.add('/items/:id', 'POST', function(id) {
  // update Item Function
  return [200, 'ok'];
});
于 2013-02-05T01:53:47.700 回答
1

如果您只是想拦截 GET 和 POST 数据,然后以快乐的方式发送 Meteor,您可以在服务器上执行类似的操作。

if (Meteor.isServer) {

  var connect = Npm.require('connect');
  var app = __meteor_bootstrap__.app;
  var post, get;

  app
    // parse the POST data
    .use(connect.bodyParser())
    // parse the GET data
    .use(connect.query())
    // intercept data and send continue
    .use(function(req, res, next) {
      post = req.body;
      get = req.query;
      return next();
    });

  Meteor.startup(function() {
    // do something with post and get variables
  });

}

编辑 11/01/13

我最终为此(为我自己)创建了一个智能包。没有文档,但欢迎您使用它。https://github.com/johnnyfreeman/request-data

要检索foo请求变量:

RequestData.get('foo') // --> 'bar'
RequestData.post('foo') // --> 'bar'

如果未找到密钥,则这两种方法都会throw出现,因此如果变量是可选的Meteor.Error,请确保使用带有try/的 wrap。catch

于 2013-08-02T13:06:53.420 回答
0

您可以在此处使用 Meteor 的Iron Router文档因为Router(如上所述)已经过时并且可能不再起作用。

Router.route('/items/:id', {where: 'server'})
    .get(function () {
        this.response.end('get request\n');
    })
    .post(function () {
        this.response.end('post request\n');
    });
于 2016-05-04T16:11:54.647 回答
0

我正在使用这个包来序列化正文数据:simple:json-routes. 这是链接。

这个代码片段可以访问它:

WebApp.connectHandlers.use('/api/request', (req, res, next) => {
    console.log(req.body);
});
于 2021-09-08T09:34:37.840 回答