У меня есть одностраничное приложение JavaScript (использующее backbone.js), где состояние приложения хранится как часть параметров URL. На этой веб-странице много флажков.
Итак, если пользователь нажимает URL-адрес, например 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...
затем страница настраивается (используя Backbone.Router) с установленными флажками. Обратите внимание на решетку #app в URL-адресе, означающую, что параметры обрабатываются приложением JavaScript.
Проблема в том, что теперь у приложения гораздо больше параметров, чем я думал раньше. Следовательно, со всеми включенными флажками я получаю URL-адрес длиной около 98 000 символов, тогда как, согласно этому ответу, он может только максимум 2000. Упс :-(
Что вы посоветуете, чтобы справиться с этим? Я подумал, может быть, есть умный способ «укоротить»/«сжать» строку URL-адреса в JavaScript (например, gzip + base64, кодирующий строку URL-адреса), но даже это не укорачивает URL-адрес настолько, чтобы он был меньше 2000 символов.