Вопрос о JQuery с post и JSON URL-параметрами - PullRequest
0 голосов
/ 26 августа 2009

Я пытаюсь создать tagcloud для приложения. Когда я щелкаю по тегу в tagcloud, фон для тега должен быть изменен. Вот простой HTML-код для тега:

<a about="http://localhost/d456c6" href="http://localhost/d456c6" class="tagweight0 Resource">abda</a>

Чтобы изменить фон, я использую следующее:

$('tagweight0').livequery('click', function(event) {
    $(this).toggleClass("select");
    return false;
});

URL-адреса без выбранных тегов выглядят так:

http://localhost/exploretags/

и когда я выбрал теги, это должно быть что-то вроде (формат JSON):

http://localhost/exploretags/?selectedTags={"0" : "uri0", "1" : "uri1" , "2" : "uri2"}

Я могу использовать $ .post для загрузки страницы. Моя проблема в том, что я понятия не имею, как генерировать значение параметра selectedTags. При щелчке по тегу должен быть добавлен элемент в selectedTag, и при повторном щелчке по тому же тегу должен быть удален, например

  1. Tagloud без выбранных тегов
  2. Нажмите на тег «abc», URL для загрузки - http://localhost/exploretags/?selectedTags={"0": «http://localhost/tags/abc"}
  3. Нажмите на тег «def», URL для загрузки: http://localhost/exploretags/?selectedTags={"0": «http://localhost/tags/abc",« 1 »:« http://localhost/tags/def"}
  4. Нажмите на метку «abc». URL для загрузки: http://localhost/exploretags/?selectedTags={"0": "http://localhost/tags/def"}

Моя идея заключалась в том, чтобы написать функцию справки, которая бы получала все метки для тегов с измененным фоном. Но я не знаю, как построить часть между {} для параметра selectedTags.

Может кто-нибудь подсказать мне, как это сделать? Правильный ли мой подход?

С уважением, Sirakov

PS. Извините за длинный пост и за плохой английский

Ответы [ 2 ]

0 голосов
/ 26 августа 2009

Сначала нужно создать json, который является просто хэшем javascript

и затем закодируйте его для использования в URL, например:

encodeURIComponent('{"0" : "uri0", "1" : "uri1" , "2" : "uri2"}')

Или, что еще лучше, опубликуйте его с помощью функции $ .post (url, hash, callback)

0 голосов
/ 26 августа 2009

Вы можете использовать плагин jQuery JSON .

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