尝试使用 Backbone 的导航属性。
this.navigate("week/" + companyName + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });
上面的代码执行一次。
它击中了这个:
routes: {
"week/:companyName/:employeeNo/:weekEnd": "getWeek"
},
然后这个函数被击中两次:
getWeek: function (companyName, employeeNo, weekEnd) {
console.log('getWeek:', companyName, employeeNo, weekEnd);
}
它在 Firefox 中记录两次,在 IE 和 Chrome 中只记录一次。
这里有什么问题?我最初甚至没有将触发器设置为 true,而 Firefox 忽略了这一点,仍然触发了 URL。
我最近遇到了类似的问题,Firefox 在 Backbone.navigate 之后执行了两次服务器调用。就我而言,这是因为我们没有对字符串进行编码。您的公司名称中是否有需要编码的字符?
你可以尝试:
this.navigate("week/" + escape(companyName) + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)