Articles of 铁路由器

meteor铁路由器如何获得POST数据

我正在尝试将POST数据从meteor外部传递到Iron Router路由,但是它不起作用。 请求正文为空。 我已经尝试输出请求体来检查数据是否存在,但它只是空的。 Router.route('/api/gatewaysusers', function() { body = this.request.body; console.log(this.request) // this.response.write(body); this.response.end("Call served"); }, {where: 'server'}) 任何想法 ? 谢谢。

meteor铁路由器布局呈现

我们已经实现了主要内容驻留在dynamic侧边栏的布局。 我们定义了如下的layoutTemplate : <template name="layout"> {{> content}} {{> leftbar}} {{> rightbar}} <nav class="navigation"> {{#if currentUser}} {{> navigation_logged_in}} {{else}} {{> navigation_logged_out}} {{/if}} </nav> </template> 我们在布局模板中包含右栏模板。 <template name="rightbar"> <aside class="rightbar"> <button id="closeRightBar" class="close-cross"></button> {{yield 'rightbar'}} </aside> </template> 右栏模板包含我们将特定内容input到的右栏版本。 我们已经实现了下面的RouteController: UserShowRouter = RouteController.extend({ before: function() { var username = this.params.username; if(App.subs.user) { App.subs.user.stop(); } App.subs.user = Meteor.subscribe('user', username); […]

如何捕捉当用户离开meteor和/或铁路由器的页面?

我试图赶上,当用户离开我的meteor应用程序(版本1.2.0.2); 相当于服务器端的SocketIO disconnect() 。 用户可以closures他的浏览器,去另一个网站,或者只是刷新页面,然后它会触发 令人惊讶的是,我在互联网上search,一切都混在一起,没有任何工作正常。 我以为meteor就是基于这种神奇的现场处理,所以它必须以某种方式pipe理这个事件。 铁路由器文档指定了这个: onStop:路线停止时调用,通常在新路线运行之前。 我也发现Router.load和Router.unload但没有一个工作。 这是我目前的[不工作]代码,这是非常简单的 Router.configure layoutTemplate: 'MasterLayout' loadingTemplate: 'Loading' notFoundTemplate: 'NotFound' Router.onStop (-> console.log('Try to stop') Users.insert({ name: "This is a test" lat: 0 lng: 0 }) ) 我在这里做错了什么? 你如何在我的应用程序中捕获这个事件?

Iron Router和Meteor中的服务器端路由

前锋 在meteor看来,我们不能调用服务器端路由来将文件呈现给页面,而没有从我们正常的工作stream程中进行某种处理,从我所读到的有关服务器端路由的一些方面。 我希望我错了,有一个简单的方法来实现我想要做的事情… **对不起,如果这是有点长,但我认为在这种情况下提供更多的背景和上下文是必要的** 软件/版本 我正在使用最新的铁路路由器1. *和meteor1. *开始,我只是使用帐户密码。 背景/上下文 我有一个onBeforeAction,只要将用户redirect到欢迎页面或主页基础上,如果用户login或不是: 两者/ routes.js Router.onBeforeAction(function () { if (!Meteor.user() || Meteor.loggingIn()) this.redirect('welcome.view'); else this.next(); } ,{except: 'welcome.view'} ); Router.onBeforeAction(function () { if (Meteor.user()) this.redirect('home.view'); else this.next(); } ,{only: 'welcome.view'} ); 在同一个文件中,两个/ routes.js,我有一个简单的服务器端路由,呈现一个pdf到屏幕上,如果我删除onBeforeAction代码,路由工作(pdf呈现到页面): Router.route('/pdf-server', function() { var filePath = process.env.PWD + "/server/.files/users/test.pdf"; console.log(filePath); var fs = Npm.require('fs'); var […]

Meteor中服务器端路由的authentication

什么是最好的方式(最安全和最简单)来validation服务器端路由的用户? 软件/版本 我正在使用最新的铁路路由器1. *和meteor1. *开始,我只是使用帐户密码。 参考代码 我有一个简单的服务器端路由,呈现一个pdf到屏幕上: 两者/ routes.js Router.route('/pdf-server', function() { var filePath = process.env.PWD + "/server/.files/users/test.pdf"; console.log(filePath); var fs = Npm.require('fs'); var data = fs.readFileSync(filePath); this.response.write(data); this.response.end(); }, {where: 'server'}); 作为一个例子,我想做一些接近这个SO回答build议的东西 : 在服务器上: var Secrets = new Meteor.Collection("secrets"); Meteor.methods({ getSecretKey: function () { if (!this.userId) // check if the user has privileges throw […]