Javascript Meteor Router.go即使页面转换也不更改Url

Javascript Meteor Router.go即使页面转换也不更改Url,javascript,meteor,iron-router,Javascript,Meteor,Iron Router,我犯了一个很奇怪的错误。我有一个按钮的点击事件设置,它通过Router.go发送到另一个模板。但是,页面将转换,并传递数据,但url不会更改。所以我不能在下一次转换中使用参数,这是一个注册流 Template.tellUsAboutYourself.events({ 'click .continueHide': function(){ var mealsPerDay = $('.checkbox_check1:checked').val(); var snacksPerDay

我犯了一个很奇怪的错误。我有一个按钮的点击事件设置,它通过Router.go发送到另一个模板。但是,页面将转换,并传递数据,但url不会更改。所以我不能在下一次转换中使用参数,这是一个注册流

Template.tellUsAboutYourself.events({


'click .continueHide': function(){
    var mealsPerDay = $('.checkbox_check1:checked').val();
    var snacksPerDay = $('.checkbox_check2:checked').val();
    var typesOfSnacks = '';
    $('.checkbox_check3:checked').each(function(i){
      typesOfSnacks = typesOfSnacks + '4' + $(this).val();
    });
    var homeCooked = $('.checkbox_check4:checked').val();
    var sodaOften = $('.checkbox_check5:checked').val();
    var coffeeOften = $('.checkbox_check6:checked').val();
    var coffeeHow = $('.checkbox_check6a:checked').val();
    var juiceOften = $('.checkbox_check7:checked').val();
    var threeFoodsOften = '';
    $('.checkbox_check8:checked').each(function(i){
      threeFoodsOften = threeFoodsOften + '4' + $(this).val();
    });
    var activityLevel = $('.checkbox_check9:checked').val();

    var id = NutritionData.insert({name: this.name, last_name: this.last_name, ideal_weight: this.ideal_weight, height: this.height, current_weight: this.current_weight, gender: this.gender, age: this.age, mealsPerDay: mealsPerDay, snacksPerDay: snacksPerDay, typesOfSnacks: typesOfSnacks, homeCooked: homeCooked, sodaOften: sodaOften, coffeeOften: coffeeOften, coffeeHow: coffeeHow, juiceOften: juiceOften, threeFoodsOften: threeFoodsOften, activityLevel: activityLevel});
    console.log(id);

    Router.go('yourResults', {id: id});
  }
});
然后在router.js文件中,我有以下内容:

Router.route('/yourResults/:id', {
  name: 'yourResults',
  trackPageView: true,
  layoutTemplate: false,
  data: function(){
    return NutritionData.find({_id: this.params.id}).fetch()[0]
  },
});
ID是正确的,但由于某些原因,它不会更改url。以前有人有过这个问题吗?我已经重构了大量的代码,到处寻找错误,但我已经没有主意了


谢谢

我解决了这个问题,它与路由器无关。只是在极少数情况下,任何人都会遇到相同的噩梦场景,错误是由一个会话变量引起的,该变量位于一个特别运行了多次的帮助器中的for循环中。这没有给出任何错误,但它导致了各种奇怪的行为,包括路由器故障。

在您的路由中,layoutTemplate不应该是字符串而不是false吗?不,这不是问题所在,我对许多其他模板都使用它。。我确实移除了它,看看是不是真的,但问题依然存在。但是仍然感谢您的回复。顺便说一句,您可以使用NutritionData.findOnethis.params.id而不是NutritionData.find{u id:this.params.id}.fetch[0]-这种方式会稍微短一点,更容易理解。它在浏览器url中工作吗?是的,如果我手动输入它,它工作正常