JSON变量显示为文本

时间:2009-12-04 17:04:10

标签: javascript json

我对JSON并不太懂,所以任何帮助都会很棒......

我正在通过JQuery的.load加载页面。

我将varname设置为变量,但它是作为实际变量名称发布而不是我设置它。

换句话说,它显示为“varname”而不是“class_id”。

var varname = "class_id";

$(this).siblings(".container").load(loadurl,{varname:openedid,"all_ids":allids});

Firebug Screenshot

1 个答案:

答案 0 :(得分:3)

因为(AFAIK)你不能把表达式作为一个ID放在哈希构造函数中,因为它们会被自动引用为字符串。

换句话说,这是有效的JavaScript

$(this).load(url, {name: "Foo", age: 13});

密钥nameage就在那里。在JavaScript中,您不必引用哈希的键,尽管在严格的JSON中,键是必需的引用。 (但引用不会受到伤害。在某些情况下,正如Jordan在评论中所建议的那样,例如你想使用像var这样的保留字作为哈希键是必要的)

为了达到你想要的效果,我会建议一个冗长的解决方案(任何聪明的单行任何人?)

var varname = "class_id";

var data = {all_ids: allids};
data[varname] = openedid;

$(this).siblings('.container').load(loadurl, data);