JSON в location.hash для закладок AJAX (J)? - PullRequest
2 голосов
/ 19 февраля 2010

Я создаю AJAJ (AJAX с JSON) веб-приложение с jQuery , и я бы хотел, чтобы мои пользователи могли добавлять в закладки страницу, на которой сохраняются все выбранные настройки для определенной части приложения. У меня есть довольно много данных, которые нужно сохранить, поэтому я подумал, что JSON может быть лучшим способом сохранить это, поместив их в location.hash.

При этом, каков наилучший способ получить строку данных из location.hash и преобразовать ее обратно в объект JSON, чтобы ее можно было использовать внутри Javascript?

Вот что я думаю о объекте JSON

http://example.com/index.html#json={'s': '2010-02-19', 'array':[1,2,3,4]}

Роланд предложил мне сбросить json=, также успешно вырезав 5 символов. Таким образом, полное местоположение будет:

http://example.com/index.html#{'s': '2010-02-19', 'array':[1,2,3,4]}

Ответы [ 3 ]

3 голосов
/ 19 февраля 2010

Пример при условии, что у вас есть поддержка JSON (либо встроенная, либо с помощью сценария синтаксического анализа JSON)

var obj, text = document.location.hash;
if (text){
    obj = JSON.parse(text);
}

Если в браузере нет встроенной поддержки JSON, вы можете получить скрипт из http://www.json.org/js.html или используйте какой-либо поддерживаемый фреймворком вариант (например, YUI http://developer.yahoo.com/yui/json/)

2 голосов
/ 19 февраля 2010

Взгляните на плагин истории , он может соответствовать вашим потребностям

2 голосов
/ 19 февраля 2010

Вы говорите «совсем немного». Можете быть более конкретными? Помните, что в вашем URL-адресе не более 2083 символов.

Лично я бы не стал хранить такие вещи в командной строке. Вы будете испытывать трудности при кодировании / декодировании URL, и люди могут получить представление о ваших структурах данных и, возможно, взломать строку JSON в URL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...