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

时间:2014-03-09 07:29:20

标签: 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()函数被调用,当我发送type而不是t时,{{1调用服务器端的函数。 type()变量在某些情况下是不同的。例如,t变量的值在一种情况下等于t,在另一种情况下等于brand。我可以在这种情况下,使用type的值而不是t

1 个答案:

答案 0 :(得分:1)

正如@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" },具体取决于执行的分支。