I have a JavaScript single page app (using backbone.js), where the app's state is stored as part of URL parameters. This webpage has a lot of checkboxes.
So if a user hits a URL like http://my-app.org/project/#app/load?checkboxID[4053]=1&checkboxID[4054]=1&checkboxID[4055]=1&checkboxID[4056]=1&checkboxID[4057]=1&checkboxID[4058]=1&checkboxID[4059]=1...goes on and on, various further params...
then the page configures itself (using Backbone.Router) with the given checkboxes selected. Notice the hash #app in the URL, meaning that the parameters are handled by the JavaScript app.
The problem is now that the app has now much more parameters than I previously thought of. Hence, with all checkboxes enabled, I get an URL that is about 98.000 characters long, whereas according to this answer it can only be 2.000 at most. Oops :-(
What's your advice to handle this? I thought maybe there is a smart way of "shortening"/"compressing" the URL string in JavaScript (like gzipping + base64 encoding the URL string), but even this does not shorten the URL enough to be under 2000 characters.