我需要在我的 meteor.js 应用程序中处理一些 POST 数据,有没有简单的方法可以做到这一点?
非常基本,如果它是一个 PHP 应用程序,我只需要 $_POST 变量。
我需要在我的 meteor.js 应用程序中处理一些 POST 数据,有没有简单的方法可以做到这一点?
非常基本,如果它是一个 PHP 应用程序,我只需要 $_POST 变量。
流星路由器
https://github.com/tmeasday/meteor-router#server-side-routing
Meteor.Router.add('/items/:id', 'POST', function(id) {
// update Item Function
return [200, 'ok'];
});
如果您只是想拦截 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
您可以在此处使用 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');
});
我正在使用这个包来序列化正文数据:simple:json-routes
. 这是链接。
这个代码片段可以访问它:
WebApp.connectHandlers.use('/api/request', (req, res, next) => {
console.log(req.body);
});