我知道这个网站上有很多线程可以将变量发送到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中?
答案 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
});