Javascript 在getJSON函数jquery中使用变量的值而不是变量

Javascript 在getJSON函数jquery中使用变量的值而不是变量,javascript,jquery,Javascript,Jquery,我想用jquery中的getJSON函数向服务器发送一个变量 y = "some data"; if (con == true) { t = "brand"; } else { t = "type"; } $.getJSON('url', { t: y }).done(function (data) { alert(data); }); 在服务器端,我为使用getJSON发送的每个信息提供了函数。例如,当我使用brand而不是t时,调用服务器端的brand()函数;当我

我想用jquery中的getJSON函数向服务器发送一个变量

y = "some data";
if (con == true) {
    t = "brand";
}
else {
    t = "type";
}
$.getJSON('url', { t: y }).done(function (data) {
    alert(data);
});
在服务器端,我为使用getJSON发送的每个信息提供了函数。例如,当我使用
brand
而不是
t
时,调用服务器端的
brand()
函数;当我发送
type
而不是
t
时,调用服务器端的
type()
函数。
t
变量在某些情况下是不同的。例如,在一种情况下
t
变量的值等于
brand
,在另一种情况下等于
type
。在这种情况下,我如何使用
t
的值,而不是
t

正如@u\u mulder所指出的,最好将数据以一种定义良好的结构发送到服务器,这样您的getJSON调用

$.getJSON('url', { method: t, data: y }).done(function (data) {...});
如果你执意要使用你提到的结构,你将不得不做类似的事情

var dataObj = {};
dataObj[t] = y;

$.getJSON('url', dataObj).done(function (data) {...});

这样,
t
的值将作为
dataObj
对象下的属性填充。因此,
dataObj
值将相当于
{brand:“some data”}
{type:“some data”}
,具体取决于执行的分支。

请参见:[[1]:显然,如果您发送类似以下内容会更好:
{method:brand,data:data};