Jquery load : 更改要发送的变量数量

Jquery load : change how many variables to send

我知道此站点上有很多线程用于将变量发送到 jquery 加载函数,但我有一个问题似乎找不到答案。

取下面代码

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

现在可以了。它加载 url 并使用 post.

发送三个变量

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

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

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

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

我想如果我把我所有的东西都放在一个字符串中,那么我可以根据需要发送任意数量的变量。然而,当我把它们放在一个字符串中时,它给了我一个错误。

那么有没有更好的方法来做到这一点,或者有另一种方法可以将可变数量的变量发送到 jquery 负载中?

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

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

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

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

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