关于带有post和JSON URL params的JQuery的问题

时间:2009-08-26 17:41:34

标签: jquery json post parameters

我正在尝试为应用程序创建一个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 whitout选择的标签如下所示:

http://localhost/exploretags/

当我选择了标签时,它必须是(JSON格式):

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

我可以使用$ .post加载页面。我的问题是,我不知道如何生成selectedTags参数的值。点击标签时必须在selectedTag中添加一个元素,并且必须再次点击相同的标签,例如

  1. Tagloud whitout选择标签
  2. 点击标记“abc”,要加载的网址为http://localhost/exploretags/?selectedTags= {“0”:“http://localhost/tags/abc”}
  3. 点击标记“def”,要加载的网址为http://localhost/exploretags/?selectedTags= {“0”:“http://localhost/tags/abc”,“1”:“http://localhost/tags/def”}
  4. 点击标签“abc”。要加载的网址为http://localhost/exploretags/?selectedTags= {“0”:“http://localhost/tags/def”}
  5. 我的想法是编写一个帮助功能,它可以获得具有更改背景的标签的所有uris。但我不知道,如何在{}之间为selectedTags参数构建部分。

    有人可以给我一个想法,如何制作这个?我的方法是否正确?

    此致 Sirakov

    PS。对不起,长篇文章和糟糕的英语

2 个答案:

答案 0 :(得分:0)

首先需要创建json,这只是一个javascript哈希

然后对其进行编码以便在url中使用,如下所示:

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

或者,更好的是,使用$ .post(url,hash,callback)函数发布它

答案 1 :(得分:-1)

您可以使用jQuery JSON plugin