Backbone navigate triggers twice in Firefox

backbone.js, firefox, url-routing

Solution

I had a similar issue recently with Firefox doing two server calls after a Backbone.navigate. In my case it was because we had not encoded the string. Does your company name have any characters which should be encoded?

You could try:

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

Problem

Trying to use Backbone's navigate property. ``` this.navigate("week/" + companyName + "/" + employeeNo + "/" + weekEnd, { trigger: true, replace: false }); ``` The code above is executed once. It hits this: ``` routes: { "week/:companyName/:employeeNo/:weekEnd": "getWeek" }, ``` And then this function gets hit twice: ``` getWeek: function (companyName, employeeNo, weekEnd) { console.log('getWeek:', companyName, employeeNo, weekEnd); } ``` It is logged twice in Firefox, only once in IE and Chrome. What's the issue here? I originally didn't even have trigger set to true, and Firefox ignored that and still triggered the URL.

Original source