JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
JavaScript
// and the function that parses the query string can be something like :
function parseQueryString (queryString){
var params = {};
if(queryString){
_.each(
_.map(decodeURI(queryString).split(/&/g),function(el,i){
var aux = el.split('='), o = {};
if(aux.length >= 1){
var val = undefined;
if(aux.length == 2)
val = aux[1];
o[aux[0]] = val;
}
return o;
}),
function(o){
_.extend(params,o);
}
);
}
return params;
}
var router = Backbone.Router.extend({
routes: {
'posts': 'showPosts',
'posts?*queryString' : 'showPosts'
},
showPosts: function (queryString) {
params = parseQueryString(queryString);
window.q = queryString;
if(params.foo){
// foo parameters was passed
alert('foo=' + params.foo);
}
}
});
var Router = new router;
Backbone.history.start();
Router.navigate('posts?foo=bar',{trigger:true,replace:true});