在Firefox中,骨干导航触发两次

Rai*_*l24 7 firefox url-routing backbone.js

试图使用Backbone的导航属性.

 this.navigate("week/" + companyName + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });
Run Code Online (Sandbox Code Playgroud)

上面的代码执行一次.

它击中了这个:

routes: {
    "week/:companyName/:employeeNo/:weekEnd": "getWeek"
},
Run Code Online (Sandbox Code Playgroud)

然后这个函数被击中两次:

getWeek: function (companyName, employeeNo, weekEnd) {
    console.log('getWeek:', companyName, employeeNo, weekEnd);
 }
Run Code Online (Sandbox Code Playgroud)

它在Firefox中记录两次,在IE和Chrome中只记录一次.

这是什么问题?我原本甚至没有将触发器设置为true,并且Firefox忽略了它并仍然触发了URL.

Fra*_*123 6

我最近遇到了类似的问题,Firefox在Backbone.navigate之后进行了两次服务器调用.在我的情况下,这是因为我们没有编码字符串.您的公司名称是否包含任何应编码的字符?

你可以尝试:

this.navigate("week/" + escape(companyName) + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false });
Run Code Online (Sandbox Code Playgroud)