【问题标题】:Jquery load : change how many variables to sendJquery load:更改要发送的变量数量
【发布时间】:2016-01-14 11:50:49
【问题描述】:

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

取下面的代码

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

现在可以了。它使用 post 加载 url 并发送三个变量。

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

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

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

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

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

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

【问题讨论】:

  • 将字符串作为数据传递,使其成为 GET 请求。而是传递一个对象

标签: jquery function load


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-16
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      相关资源
      最近更新 更多