铁路由用户在Meteor中插入值

时间:2015-10-06 10:40:53

标签: javascript node.js meteor iron-router

我需要运行从用户获取输入并路由到该值的函数。例如,插入的值是

https://www.youtube.com/watch?v=_ZiN_NqT-Us

它应该路由到网址:

download?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D_ZiN_NqT-Us

我得到了值和Set.session以在路由器中获取Session,方法如下,但它没有得到任何值。

Template.inputBar.events({
	'click #download':function(event, template) {
		var url = template.find('.url').value;
		if (url.value != "") {
			Session.set('url', url);
		} 
		else {
			alert('paste link');
		}
	}
});

路由到插入的值并执行对服务器的调用:

Router.map(function(){
  this.route('frontPage', {path: '/'} );
  this.route('downloadLinks', {
  	path: '/download?link=:url',
  	data: function() {
          var url = Session.get('url');
          Meteor.call('command', url, function(error, result) {
          if(result.stdout) {
            console.log(result.stdout)
          }
          else {
            alert("Not supported site");
          }
        });
  	}
  });
});

1 个答案:

答案 0 :(得分:0)

Docs for Router.go

Template.inputBar.events({
  'click #download':function(event, template) {
    var url = template.find('.url').value;
      if (url.value != "") {
        Router.go(url.value);
      } else {
        alert('paste link');
      }
    }
});

这将重定向到您想要的路线。