Jquery加载:更改要发送的变量数

时间:2016-01-14 11:50:49

标签: jquery function load

我知道这个网站上有很多线程可以将变量发送到jquery加载函数,但我有一个问题似乎无法找到答案。

采取以下代码

$( "#table_form" ).load(url, {
                        STARTDATE: $(startDate).val(),
                        ENDDATE: $(endDate).val(),
                        USER_ID: something
                    },function()
                {
                    // do something after
                });

现在这个有效。它加载url并使用post发送三个变量。

现在说我要运行此加载,但这次只有2个变量,例如STARTDATE和ENDDATE。

所以我想我会把send变量放在一个字符串中并传递它。这样我就可以发送动态数量的变量

var mystuff="STARTDATE: $(startDate).val(),ENDDATE: $(endDate).val()";

 $( "#table_form" ).load(url, {
                        mystuff
                    },function()
                {
                    // do something after
                });

我想如果我将所有东西放在一个字符串中,那么我可以根据需要发送尽可能多的变量。但是,当我把它们放在一个字符串中时,它给了我一个错误。

那么有更好的方法可以做到这一点,还是有另外一种方法可以将不同数量的变量发送到jquery load中?

2 个答案:

答案 0 :(得分:2)

创建JS对象或JSON而不是字符串。

var mystuff = {
    STARTDATE: $(startDate).val(),
    ENDDATE: $(endDate).val()
};
$("#table_form").load(url, mystuff, function() {
    // do something after
});

答案 1 :(得分:-1)

要加载的第二个参数是一个对象,您必须将其作为键:值对传递。试试这个:

    var mystuff="STARTDATE: $(startDate).val(),ENDDATE: $(endDate).val()";

 $( "#table_form" ).load(url, {
                      mystuff:mystuff
                    },function()
                {
                    // do something after
                });