我对JSON并不太懂,所以任何帮助都会很棒......
我正在通过JQuery的.load加载页面。
我将varname设置为变量,但它是作为实际变量名称发布而不是我设置它。
换句话说,它显示为“varname”而不是“class_id”。
var varname = "class_id";
$(this).siblings(".container").load(loadurl,{varname:openedid,"all_ids":allids});
答案 0 :(得分:3)
因为(AFAIK)你不能把表达式作为一个ID放在哈希构造函数中,因为它们会被自动引用为字符串。
换句话说,这是有效的JavaScript
$(this).load(url, {name: "Foo", age: 13});
密钥name
和age
就在那里。在JavaScript中,您不必引用哈希的键,尽管在严格的JSON中,键是必需的引用。 (但引用不会受到伤害。在某些情况下,正如Jordan在评论中所建议的那样,例如你想使用像var
这样的保留字作为哈希键是必要的)
为了达到你想要的效果,我会建议一个冗长的解决方案(任何聪明的单行任何人?)
var varname = "class_id";
var data = {all_ids: allids};
data[varname] = openedid;
$(this).siblings('.container').load(loadurl, data);